输入 "i love you" 输出"you love i"
要求:不能使用核心库函数实现逆序。
思路:进行两次反转,第一次每个单词反转,第二次整个字符串反转
public static void reverseStr(char [] cs,int start,int end) { char temp='_'; while(start<end) { temp=cs[start]; cs[start]=cs[end]; cs[end]=temp; start++; end--; } } public static String reverseWords(String str) { char [] cs=str.toCharArray(); int start=0,end=0; for(int i=0;i<cs.length;i++) { if(cs[i]==' ') { reverseStr(cs, start, end-1); end++; start=end; } else { end++; if(i==cs.length-1) { reverseStr(cs, start, end-1); } } } reverseStr(cs, 0, cs.length-1); return new String(cs); }
字符串递归逆序
private static String recursion ( String input ) { if (input.isEmpty ()) { return input; } return recursion (input.substring (1)) + input.charAt (0); } public static void main ( String[] args ) { System.out.println (recursion ("12")); }