题目:=====i am good boy 逆置为:boy good am i
函数原型:
public static String reverseSentence(String str) {
}
public class Test { public static void main(String[] args) { String str = "i am good boy" ; System.out.println(reverseSentence(str)); } public static String reverseSentence(String str) { if (str == null || str.length() == 0) return null; char ch[] = str.toCharArray(); f(ch, 0, ch.length - 1); int start = 0; int end = 0; while (end < ch.length) { if (ch[end] != ' ') { if (end == ch.length - 1) { f(ch, start, end); } end++; } else if (ch[end] == ' ') { f(ch, start, end - 1); end++; start = end; } } return String.valueOf(ch); } //局部逆转函数 public static void f(char[] ch, int start, int end) { if (ch == null || ch.length == 0 || start == end) return; while (start < end) { char temp = ch[start]; ch[start] = ch[end]; ch[end] = temp; start++; end--; } } }