Reverse Words in a String II

来源:互联网 发布:linux cd命令的用法 编辑:程序博客网 时间:2024/06/13 23:03

两步法:

1. 先将整个字符数组反转;

2. 再次循环数组,遇到空格反转,遇到最后的位置反转

public class Solution {    public void reverseWords(char[] s) {        //if (s == null || s.length == 0) {        if (s == null || s.length <= 1) {            return;        }        reverseWordsHelper(s, 0, s.length - 1);        int last = 0;        for (int i = 0; i < s.length; i++) {            if (s[i] == ' ') {                reverseWordsHelper(s, last, i - 1);                last = i + 1;            } else if (i == s.length - 1) {                reverseWordsHelper(s, last, i);            }        }    }        private void reverseWordsHelper(char[] s, int left, int right) {        while (left < right) {            char c = s[left];            s[left] = s[right];            s[right] = c;            left++;            right--;        }    }}


0 0
原创粉丝点击