題目
計(jì)算字符串最后一個(gè)單詞的長(zhǎng)度,單詞以空格隔開(kāi),字符串長(zhǎng)度小于5000。(注:字符串末尾不以空格為結(jié)尾)
輸入描述:
輸入一行,代表要計(jì)算的字符串,非空,長(zhǎng)度小于5000。輸出描述:
輸出一個(gè)整數(shù),表示輸入字符串最后一個(gè)單詞的長(zhǎng)度。
題解鏈接
思路
- 方案1:從字符串末尾開(kāi)始遍歷查找第一個(gè)空格“ ”,記錄位置,然后計(jì)算出單詞的長(zhǎng)度
const line = readline();
function getLastWordLength(str) {
let i = str.length - 1;
while (i > -1) {
if (str[i] === ' ') break;
i -= 1;
}
return str.length - 1 - i;
}
console.log(getLastWordLength(line));
- 方案2:字符串轉(zhuǎn)數(shù)組(一空格為分隔符),用pop()方法拿到最后一個(gè)單詞,取長(zhǎng)度;
function getLastWordLength(str) {
const array = str.split(" ");
const lastWord = array.pop();
return lastWord.length;
}
const line = readline();
console.log(getLastWordLength(line));
- 方案3:通過(guò)取子串的方式拿到最后一個(gè)單詞,然后取單詞長(zhǎng)度
function getLastWordLength(str) {
const index = str.lastIndexOf(" ");
const lastWord = str.substring(index + 1);
return lastWord.length;
}
const line = readline();
console.log(getLastWordLength(line));
感想
和力扣相比,需要處理輸入輸出,并且缺少注釋說(shuō)明數(shù)據(jù)結(jié)構(gòu),顯得比較簡(jiǎn)陋;
雖然支持Object-C,但是題解很少,參考學(xué)習(xí)的意義不大;
swift也支持,但是可選真的很麻煩。對(duì)于編程安全性有幫助,但是用來(lái)學(xué)習(xí)顯得啰嗦。
整個(gè)大前端,JS用來(lái)學(xué)習(xí)還是不錯(cuò)的。
這是第一個(gè),所以多花點(diǎn)時(shí)間比較,接下來(lái)只選擇一種方法。
JS語(yǔ)法參考
- JS語(yǔ)法比較簡(jiǎn)單好學(xué),隨用隨查