Shawngbk / Leecode

Questions of Leecode
0 stars 0 forks source link

186. Reverse Words in a String II #132

Open Shawngbk opened 7 years ago

Shawngbk commented 7 years ago

public class Solution { public void reverseWords(char[] s) { //将整个句子翻转 reverse(s, 0, s.length-1); //翻转每一个单词(以' '为分隔符),判断要先写i == s.length,因为有可能句子只有一个单词,不然则数组越界 for(int i = 0, j = 0; i <= s.length; i++) { if(i == s.length || s[i] == ' ') { reverse(s, j, i-1); j = i + 1; } } } private void reverse(char[] s, int start, int end) { while(start < end) { char temp = s[start]; s[start] = s[end]; s[end] = temp; start++; end--; } } }

Shawngbk commented 7 years ago

image