摘要:代碼雙指針法復(fù)雜度時間空間思路從后往前看字符串,跳過所有空格后,記下該結(jié)束位置,再到下一個空格,再記錄一個開始位置,則長度就是結(jié)束位置減去開始位置。
Length of Last Word
API法 復(fù)雜度Given a string s consists of upper/lower-case alphabets and empty space characters " ", return the length of last word in the string.
If the last word does not exist, return 0.
Note: A word is defined as a character sequence consists of non-space characters only.
For example, Given s = "Hello World", return 5
時間 O(N) 空間 O(N)
思路簡單的使用API。先trim再split再用length。
代碼public class Solution { public int lengthOfLastWord(String s) { return s.trim().split(" +")[s.trim().split(" +").length - 1].length(); } }雙指針法 復(fù)雜度
時間 O(N) 空間 O(1)
思路從后往前看字符串,跳過所有空格后,記下該結(jié)束位置,再到下一個空格,再記錄一個開始位置,則長度就是結(jié)束位置減去開始位置。在跳過空格的循環(huán)后,要判斷是否已經(jīng)超界,如果超界則返回0
代碼public class Solution { public int lengthOfLastWord(String s) { int idx = s.length() - 1; // 跳過末尾的空格 while(idx >= 0){ if(s.charAt(idx) != " ") break; idx--; } // 記錄結(jié)束位置 int end = idx; // 如果已經(jīng)超界返回0 if(idx < 0) return 0; // 找到開始位置 while(idx >= 0){ if(s.charAt(idx) == " ") break; idx--; } return end - idx; } }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/64694.html
摘要:問題很簡單,就是給你一個字符串,你求出這個字符串中所包含的最后一個單詞的長度雖然問題很簡單,但是最開始的方向不對,其實整個問題可以直接通過數(shù)字來解決而字符串中的單詞內(nèi)容并沒有什么關(guān)系先求出去掉首位空格后,找到最后一次出現(xiàn)空格即出現(xiàn)最后一個詞 問題很簡單,就是給你一個字符串,你求出這個字符串中所包含的最后一個單詞的長度 雖然問題很簡單,但是最開始的方向不對,其實整個問題可以直接通過數(shù)字來...
摘要:所以只要驗證滿足這個條件,我們則可以確定這個較長的字符串也是可分解的。同時,我們用數(shù)組記錄下字符串長度遞增時可分解的情況,以供之后使用,避免重復(fù)計算。當(dāng)遍歷完這個詞典并找出所有以第一個字母開頭的詞以后,我們進(jìn)入下一輪搜索。 Word Break I Given a string s and a dictionary of words dict, determine if s can ...
摘要:每次搜索中,我們通過哈希表維護(hù)一個窗口,比如中,我們先拿出。如果都不在數(shù)組中,那說明根本不能拼進(jìn)去,則哈希表全部清零,從下一個詞開始重新匹配。 Substring with Concatenation of All Words You are given a string, s, and a list of words, words, that are all of the same...
摘要:將低位的二進(jìn)制數(shù)分別對應(yīng)字母,從而用二進(jìn)制數(shù)實現(xiàn)一個簡單的。因此單詞對應(yīng)的二進(jìn)制數(shù)為那么比較兩個單詞是否有重復(fù)的字母只需要將二者的二進(jìn)制形式進(jìn)行操作即可。 題目要求 Given a string array words, find the maximum value of length(word[i]) * length(word[j]) where the two words do ...
摘要:復(fù)雜度時間空間為長度,為大小空間復(fù)雜度是是因為我用存信息,只動態(tài)地存當(dāng)前的路徑如果用來存信息的話空間復(fù)雜度就是時間復(fù)雜度對每個點都要作為起始點,對于每個起始點,拓展一次有四個可能性四個鄰居,要拓展次長度為。思路暴力搜索帶走。 Word Search I Given a 2D board and a word, find if the word exists in the grid. ...
閱讀 1685·2021-11-15 11:37
閱讀 3415·2021-09-28 09:44
閱讀 1659·2021-09-07 10:15
閱讀 2794·2021-09-03 10:39
閱讀 2695·2019-08-29 13:20
閱讀 1300·2019-08-29 12:51
閱讀 2212·2019-08-26 13:44
閱讀 2131·2019-08-23 18:02