【LeetCode】簡單題目集
LeetCode的問題有趣的地方在於人家直接給了一個介面,相當於只需要寫了一個函式就可以了,我是不知道多個呼叫函式會怎麼做。對於LeetCode的刷題的方法,其實可以看看知乎就可以啦。
知乎連結:Leetcode刷題指南
這幾條意見也貼出來,對於未來的愉快的刷題有著很大的作用。
一定在理清楚思路之後再去程式設計。我喜歡的一個比喻就是,對於演算法就像是在做一道英語數學題,英語不是最重要的(當然不是在說不重要),反而背後的數學是最重要的,一定要避免"一頓操作猛如虎,一看戰績0-5"這種問題。捋清楚思路,再去動筆。好像寫作文啊。。。>_< !
2.整數反轉
class Solution {
public:
int reverse(int x) {
long i = 0;
long t = x;
//直接轉換的函式,不必轉存//
while(t != 0){
i = 10 * i + t % 10;
t = t / 10;
}
if(i < INT_MIN || i > INT_MAX){//INT_MAX和 INT_MIN的意思是指臨界值//
return 0;
}
return i;
}
};
3.迴文數
注意要點:不使用字串處理迴文數的操作。掐頭去尾,一次抬走兩位。
class Solution {
public:
bool isPalindrome(int x) {
int d = 1;
if(x < 0) return false;//小於0的情況//
else{
while(x / d >= 10) d *= 10;//先去求位數//
while(x > 0){
int a = x / d;//最高位//
int b = x % 10;//最低位//
if(a != b) return false;
x = x % d / 10;//掐頭去尾//
d = d / 100;//一次去兩位//
}
}
return true;
}
};
14.最長公共字首
在string型別中也可以使用push_back(),其作用就是類似於vector,可以將東西壓入string型別中。
其次,在C++和C中,auto的型別也是不同的。具體的情況可以參考這篇文章:淺析C語言auto關鍵字和C++ 中的auto關鍵字
我在這個地方大概總結以下他說的:在C語言中:auto是一種最為廣泛的變數,在C語言中預設的是int型別;而在C++中,C++中的auto關鍵字是一個型別說明符,通過變數的初始值或者表示式中參與運算的資料型別來推斷變數的型別。也就是說,不初始化的話,我auto自己都不知道自己是個什麼東西。
這個題目思路很清晰,但是這些細節需要再去考慮。
class Solution {
public:
string prefix2(string& str1, string& str2){
if(str1.empty() || str2.empty()){
return "";
}
string res;
auto sp1 = str1.begin();
auto sp2 = str2.begin();
while(sp1!=str1.end() && sp2!=str2.end()){
if(*sp1 == *sp2){
res.push_back(*sp1);
sp1++;
sp2++;
}
else{
return res;
}
}
return res;
}
string longestCommonPrefix(vector<string>& strs) {
//先考慮特殊情況//
if(strs.empty()){
return "";
}
if(strs.size()==1){
return strs[0];
}
string res = strs[0];
for(int i=1; i < strs.size(); i++){
res = prefix2(res, strs[i]);
}
return res;
}
};
相關文章
- LeetCode簡單演算法題目-JS解法LeetCode演算法JS
- 【Leetcode】題目集:31-40LeetCode
- LeetCode #1:Two Sum(簡單題)LeetCode
- dfs題目這樣去接題,秒殺leetcode題目LeetCode
- pta題目集6和題目集7題後總結
- Python題目集Python
- LeetCode:每日一題:27. 移除元素 ——————簡單LeetCode每日一題
- 【leetcode 簡單】 第一百零六題 壓縮字串LeetCode字串
- Silverlight+WCF 簡單部署問題集
- 用python手刃Leetcode(1):兩數之和【簡單題】PythonLeetCode
- 【leetcode 簡單】 第五十九題 同構字串LeetCode字串
- LeetCode演算法簡單題--JavaScript(每天一道題)LeetCode演算法JavaScript
- 簡單演算法題:leetcode-2 兩數相加演算法LeetCode
- 簡單演算法題:leetcode-1 兩數之和演算法LeetCode
- 【leetcode 簡單】第三十七題 相交連結串列LeetCode
- 【leetcode 簡單】 第五十八題 計數質數LeetCode
- Java 題目集總結Java
- 並查集題目合集並查集
- 總結的一些簡單面試題目面試題
- M – Sort it 一組簡單一點的題目(三)
- 一組簡單一點的題目(五)R – Rectangles
- 2024夢熊BeiJing集訓題目題解目錄
- 「LeetCode By Python」簡單篇(一)LeetCodePython
- Leetcode Remove Duplicates型別題目 (python)LeetCodeREM型別Python
- leetcode題目解析(js)--連結串列LeetCodeJS
- 【leetcode 簡單】第二十一題 相同的樹LeetCode
- 【leetcode 簡單】 第八十七題 兩整數之和LeetCode
- 【leetcode 簡單】第十四題 最後一個單詞的長度LeetCode
- LeetCode題集-2 - 兩數相加LeetCode
- 題目集4~6總結
- LeetCode 1 兩數之和(簡單)LeetCode
- 分享一道有趣的 Leetcode 題目LeetCode
- LeetCode BFS題目以及要注意的點LeetCode
- 【leetcode 簡單】第二十題 合併兩個有序陣列LeetCode陣列
- LeetCode題集-1- 兩數之和LeetCode
- 一組簡單一點的題目(六) T – 整數解
- 面阿里P7,竟問這麼簡單的題目?阿里
- Leetcode目錄LeetCode