問題描述:
編寫乙個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 「」。
示例1:
輸入: ["flower","flow","flight"]
輸出: "fl"
示例2:
輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共字首。
說明:
所有輸入只包含小寫字母 a-z 。
思路:首先找出陣列中長度最短的字串,該字串一定包含或等於最長公共字首。定義乙個空字串s,從第乙個字串開始與最短字串比較,若對應字元相符,s加上該字元。否則直接返回s。**如下:
class
solution
for(
int j =
0; j < min.
size()
; j++
)//從第乙個字元開始對比,若都一樣,s加上該字元
s = s + min[j];}
return s;}}
;
問題描述:
給定乙個只包括 『(』,』)』,』』,』[』,』]』 的字串,判斷字串是否有效。
有效字串需滿足:
左括號必須用相同型別的右括號閉合。
左括號必須以正確的順序閉合。
注意空字串可被認為是有效字串。
示例1:
輸入: "(){}"
輸出: true
示例2:
輸入: "([)]"
輸出: false
思路:核心思想遍歷字串,左括號入棧,遇到右括號,則看是否與棧頂元素括號匹配,如果不匹配,則輸出false
class
solution
else'&&
' stack.
pop();
}}if(stack.
empty()
)return
true
;else
return
false;}
};
LeetCode解題記錄(5)
我將慢慢開始做leetcode上的題,並做解題記錄發布在這裡。我每題會給出一到多個解法,記錄思考過程。我演算法巨爛,是想通過這種方式稍微補補,基本功和我一樣差的小夥伴可以和我一起共勉,有大神路過可以指點一二,我感激不盡。解題的最底要求是能通過leetcode的檢測,我不會喪病的為了各種提高效率在乙個...
LeetCode解題記錄(7) 整數反轉
解題方案 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。輸入 123 輸出 321 輸入 123 輸出 321 輸入 120 輸出 21 注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這個假設,如果反轉後整數溢位那麼就返回...
LeetCode解題記錄(22) 括號生成
解題方案 給出 n 代表生成括號的對數,請你寫出乙個函式,使其能夠生成所有可能的並且有效的括號組合。輸入 3 輸出 要求列出所有情況,且每種情況都有效,即對於每個右括號及其左邊,右括號的數目必然小於左括號。可以使用遞迴解決問題,這種屬於回溯性質的遞迴演算法,不僅需要判斷退出條件,還需要判斷分支條件進...