一、字符串反转
把一个句子中的打次进行反转,比如“how are you” ,变为 “you are how”
// 字符串反转 public class StringTest { // 字符反转的方法 private void swap(char[] c, int front, int end) { if (front > end || end >= c.length) { return; } while (front < end) { char tmp = c[front]; c[front] = c[end]; c[end] = tmp; front++; end--; } } // O(n) public String swapStr(String str) { char[] cArr = str.toCharArray(); // 整个字符串的字符反转 swap(cArr, 0, cArr.length - 1); // 反转整个字符串中的所有字母,how are you -> uoy era woh int begin = 0; // 对字符串中的每个单词反转,除了最后一单词 for (int i = 0; i < cArr.length; i++) { if (cArr[i] == ' ') { swap(cArr, begin, i - 1); begin = i + 1; } } // 最后一个单词的反转 swap(cArr, begin, cArr.length - 1); return new String(cArr); } public static void main(String[] args) { String str = "how are you"; System.out.println(new StringTest().swapStr(str)); } }