腾讯2017暑期实习生编程题——算法基础-字符移位
2016-11-04 15:39
288 查看
解题思想:
我感觉这个是 插入排序 的变形【其实其他排序应该也可以,我感觉插入排序比较简单。】
题目:
小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。你能帮帮小Q吗?
输入描述:
输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述:
对于每组数据,输出移位后的字符串。输入例子:
AkleBiCeilD输出例子:
kleieilABCDimport java.util.Scanner; //算法基础-字符移位 //小Q最近遇到了一个难题: //把一个字符串的大写字母放到字符串的后面, //各个字符的相对位置不变,且不能申请额外的空间。 //你能帮帮小Q吗? public class Test{ public static String insertSort(String str){ char[] ch = str.toCharArray(); for(int i = 1;i<str.length();i++){ char tmp = ch[i]; int j; for(j=i;j>0&&Character.isUpperCase(ch[j-1])&&Character.isLowerCase(tmp);j--){ ch[j]=ch[j-1]; } ch[j]=tmp; } StringBuffer sb = new StringBuffer(); for(int i=0;i<ch.length;i++){ sb.append(ch[i]); } return sb.toString(); } public static void main(String[] args) { //a~z:97~122 //A~Z:65~90 Scanner in = new Scanner(System.in); while(in.hasNext()){ String str = in.nextLine(); String s = insertSort(str); System.out.println(s); } //"AkleBiCeilD" } }
相关文章推荐
- 算法基础-字符移位----腾讯2017暑期实习生编程题
- 腾讯2017暑期实习生编程题--算法基础-字符移位
- 腾讯2017暑期实习生编程题-B-算法基础-字符移位
- 算法与数据结构——算法题 27:字符移位(腾讯2017暑期实习生编程题) ? 待解决
- 腾讯2017暑期实习生编程题(二)----算法基础-字符移位
- 算法与数据结构——算法题 27:字符移位(腾讯2017暑期实习生编程题) ? 待解决
- 腾讯2017暑期实习生编程题(2):算法基础-字符移位
- 腾讯2017暑期实习生编程题-字符移位
- 腾讯2017实习生编程之算法基础-字符移位
- 腾讯2017暑期实习生编程题-字符移位
- 【真题】腾讯2017暑假实习生编程题 算法基础-字符移位
- 算法与数据结构——算法题 67:有趣的数字(腾讯2017暑期实习生编程题) ? 待解决
- 算法与数据结构——算法题 79:构造回文(腾讯2017暑期实习生编程题) ? 待解决
- 腾讯2017暑假实习生编程题之字符移位
- 腾讯校招编程题——算法基础-字符移位
- 腾讯2017年实习生编程题目(第二题)----2.算法基础-字符移位 小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。
- 腾讯2017暑假实习生编程题字符移位
- 腾讯笔试编程题:算法基础-字符移位(C++)
- 腾讯2017暑期实习生编程题
- 有趣的数字----腾讯2017暑期实习生编程题