做網(wǎng)站建設(shè)工資多少廣告網(wǎng)絡(luò)推廣
1.題目描述
2.知識點
(1)String.join(" ", words) 是 Java 中的一個語法,用于將數(shù)組或集合中的元素連接成一個單獨的字符串,連接時使用指定的分隔符。這里的 " " 是作為分隔符使用的一個空格字符串。
String[] words = {"This", "is", "a", "test"};
//我們希望將這些單詞連接成一個字符串,并在每個單詞之間插入一個空格:
String result = String.join(" ", words);
//result 將會是:"This is a test"
(2)a.charAt(index) 是 Java 中 String 類的一個方法,用于返回字符串 a 中指定索引位置的字符。
public char charAt(int index)
(3)words 數(shù)組經(jīng)過排序后是 {“This1”, “is2”, “a3”, “sentence4”}。
第一次迭代:
word = "This1";
word.substring(0, word.length() - 1) = "This";
result.append("This").append(" ");
result 變?yōu)?"This "。
第二次迭代:
word = "is2";
word.substring(0, word.length() - 1) = "is";
result.append("is").append(" ");
result 變?yōu)?"This is "。
第三次迭代:
word = "a3";
word.substring(0, word.length() - 1) = "a";
result.append("a").append(" ");
result 變?yōu)?"This is a "。
第四次迭代:
word = "sentence4";
word.substring(0, word.length() - 1) = "sentence";
result.append("sentence").append(" ");
result 變?yōu)?"This is a sentence "。
(4)轉(zhuǎn)換為字符串并移除多余的空格:
result.toString().trim() = “This is a sentence”;
StringBuilder對象沒有trim()方法,并且trim()方法屬于String類,不能直接對StringBuilder對象調(diào)用trim()方法。另外,Java中的trim()方法是不可變的,這意味著trim()方法會返回一個新的String對象,而不會修改原始字符串。
3.代碼實現(xiàn)
class Solution {public String sortSentence(String s) {String[] words=s.split(" ");Arrays.sort(words,(a,b)->Character.compare(a.charAt(a.length()-1),b.charAt(b.length()-1)));// 將排序后的單詞連接成一個字符串,中間用空格分隔//return String.join(" ",words);StringBuilder sb=new StringBuilder();for(String word:words){sb.append(word.substring(0,word.length()-1)).append(" ");}return sb.toString().trim();}
}