Solution 10: 翻转句子中的单词
问题描述
输入一个句子,翻转句子中单词的顺序,但是单词内字符的顺序不变。
解决思路
(1) 整体翻转;
(2) 单词翻转。
程序
public class ReverseWords { public String reverseWords(String s) { if (s == null || s.length() == 0) { return null; } char[] cc = s.toCharArray(); reverseString(cc, 0, cc.length - 1); int i = 0, j = 0; while (j < cc.length) { if (cc[j] == ' ') { reverseString(cc, i, j - 1); i = j + 1; } if (j == cc.length-1) { reverseString(cc, i, j); } ++j; } return String.valueOf(cc); } private void reverseString(char[] cc, int i, int j) { while (i <= j) { char tmp = cc[i]; cc[i] = cc[j]; cc[j] = tmp; ++i; --j; } } }