Skip to content

Commit 9617429

Browse files
151. Reverse Words in a String (java)
1 parent 1837ee9 commit 9617429

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
class Solution {
2+
public String reverseWords(String s) {
3+
int length = s.length();
4+
if(length ==0)return s;
5+
char[] res=new char[length];
6+
int len=helper(s.toCharArray(), length -1,res,0,0);
7+
return new String(res,0,len);
8+
}
9+
private int helper(char[] ch,int r,char[] res,int l,int len){
10+
while(r>=0&&ch[r]==' ') r--;
11+
if(r<0)return Math.max(0,len-1);
12+
int rigth=r;
13+
while(r>=0&&ch[r]!=' ') r--;
14+
len+=rigth-r+1;
15+
for(int left=r+1;left<=rigth;left++,l++) res[l] = ch[left];
16+
if(l<res.length) res[l++] = ' ';
17+
return helper(ch,r,res,l,len);
18+
}
19+
}

0 commit comments

Comments
 (0)