11.最後一個單詞的長度
阿新 • • 發佈:2022-03-10
/*給你一個字串 s,由若干單片語成,單詞前後用一些空格字元隔開。返回字串中 最後一個 單詞的長度。 單詞 是指僅由字母組成、不包含任何空格字元的最大子字串。 思路 標籤:字串遍歷 從字串末尾開始向前遍歷,其中主要有兩種情況 第一種情況,以字串"Hello World"為例,從後向前遍歷直到遍歷到頭或者遇到空格為止,即為最後一個單詞"World"的長度5 第二種情況,以字串"Hello World "為例,需要先將末尾的空格過濾掉,再進行第一種情況的操作,即認為最後一個單詞為"World",長度為5 所以完整過程為先從後過濾掉空格找到單詞尾部,再從尾部向前遍歷,找到單詞頭部,最後兩者相減,即為單詞的長度 時間複雜度:O(n),n為結尾空格和結尾單詞總體長度*/ 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; } }