文字列をスペースで反転
この問題はLeetcodeでやったことがあるので、難しくありません.私のコードメソッドを貼り付けます.
よく理解すると、文字列を
次の方法は私がLeetcodeで他の人のやり方を見て、コードの行数が少なくて、効率は前の方法より少し低いですが、JDKの方法を柔軟に運用して、コードの複雑さを下げました.
// ,
public String reverseWords1(String s) {
String[] strlist = s.trim().split(" +");//split
// StringBuffer String , String
StringBuffer sb = new StringBuffer();
for(int i = strlist.length-1; i>=0; i--){
sb.append(strlist[i] + " ");
}
return sb.toString().trim();
}
よく理解すると、文字列を
split(" +")
の方法でString配列を分解し、この配列を逆順序でつなぎ合わせることです.次の方法は私がLeetcodeで他の人のやり方を見て、コードの行数が少なくて、効率は前の方法より少し低いですが、JDKの方法を柔軟に運用して、コードの複雑さを下げました.
// , ,
public String reverseWords(String s) {
String[] words = s.trim().split(" +");
Collections.reverse(Arrays.asList(words));
return String.join(" ", words);
}