public String reverseWords(String s) {
String[] str = s.split(" ");
String reStr = "";
for(int i = 0;i<=str.length-1;i++){
if(i == str.length-1){
reStr += reverse4(str[i]);
}else{
reStr += reverse4(str[i]);
reStr += " ";
}
}
return reStr;
}
public static String reverse1(String str) {
return new StringBuilder(str).reverse().toString();
}
public static String reverse2(String str) {
String[] ch = str.split("");
String rstr = "";
for(int i = 0;i<=ch.length-1;i++) {
rstr = ch[i] + rstr;
}
return rstr;
}
public static String reverse3(String str){
char[] ch = str.toCharArray();
String rstr = "";
for(int i = ch.length-1;i>=0;i--) {
rstr = rstr + ch[i];
}
return rstr;
}
public static String reverse4(String str) {
String rstr = "";
for(int i = 0;i<=str.length()-1;i++) {
rstr = str.charAt(i) + rstr;
}
return rstr;
}
方法1:
方法2:
方法3:
方法4:
方法5:
看到答案里边一个大佬写的
作者:windmajor
链接:https://leetcode-cn.com/problems/reverse-words-in-a-string-iii/solution/yi-ci-bian-li-chao-jian-dan-jie-ti-si-lu-2h8s/
来源:力扣(LeetCode)
代码:
public String reverseWords(String s) {
char[] ch = s.toCharArray();
int start = 0;
for(int i = 0; i<=ch.length-1;i++){
if(ch[i]==' '){
reverse(ch , start,i-1);
start = i+1;
continue;
}else if(i ==ch.length-1){
reverse(ch,start,i);
}
}
return new String(ch);
}
private void reverse(char[] array, int l, int r) {
while (l < r) {
char temp = array[l];
array[l] = array[r];
array[r] = temp;
l += 1;
r -= 1;
}
}
最后想在最近出一片 Java关于字符串的常用方法的总结,经常用到,但是每次用都会忘记。