您好,登錄后才能下訂單哦!
小編給大家分享一下如何解決leetcode中最后一個(gè)單詞的長(zhǎng)度問(wèn)題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
https://leetcode-cn.com/problems/length-of-last-word/
給定一個(gè)僅包含大小寫(xiě)字母和空格 ' '
的字符串,返回其最后一個(gè)單詞的長(zhǎng)度。
如果不存在最后一個(gè)單詞,請(qǐng)返回 0
。
說(shuō)明:一個(gè)單詞是指由字母組成,但不包含任何空格的字符串。
示例:
輸入: "Hello World"
輸出: 5
標(biāo)簽:字符串遍歷
從字符串末尾開(kāi)始向前遍歷,其中主要有兩種情況
第一種情況,以字符串"Hello World"
為例,從后向前遍歷直到遍歷到頭或者遇到空格為止,即為最后一個(gè)單詞"World"
的長(zhǎng)度5
第二種情況,以字符串"Hello World "
為例,需要先將末尾的空格過(guò)濾掉,再進(jìn)行第一種情況的操作,即認(rèn)為最后一個(gè)單詞為"World"
,長(zhǎng)度為5
所以完整過(guò)程為先從后過(guò)濾掉空格找到單詞尾部,再?gòu)奈膊肯蚯氨闅v,找到單詞頭部,最后兩者相減,即為單詞的長(zhǎng)度
時(shí)間復(fù)雜度:O(n),n
為結(jié)尾空格和結(jié)尾單詞總體長(zhǎng)度
Java版本
class Solution {
public int lengthOfLastWord(String s) {
int end = s.length() - 1;
while(end >= 0 && s.charAt(end) == ' ') end--;
if(end < 0) return 0;
int start = end;
while(start >= 0 && s.charAt(start) != ' ') start--;
return end - start;
}
}
JavaScript版本
/**
* @param {string} s
* @return {number}
*/
var lengthOfLastWord = function(s) {
let end = s.length - 1;
while(end >= 0 && s[end] == ' ') end--;
if(end < 0) return 0;
let start = end;
while(start >= 0 && s[start] != ' ') start--;
return end - start;
};
以上是“如何解決leetcode中最后一個(gè)單詞的長(zhǎng)度問(wèn)題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。