LeetCode究極班系列(21-25)
21. 合併兩個有序連結串列
將兩個升序連結串列合併為一個新的 升序 連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。
輸入:1->2->4, 1->3->4
輸出:1->1->2->3->4->4
遞迴
class Solution {
public:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
if(l1==nullptr) return l2;
if(l2==nullptr) return l1;
if(l1->val<=l2->val){
l1->next=mergeTwoLists(l1->next,l2);
return l1;
}
l2->next=mergeTwoLists(l1,l2->next);
return l2;
}
};
迭代
class Solution {
public:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
auto res=new ListNode(-1),tmp=res;
while(l1 && l2){
if(l1->val<l2->val){
tmp->next=l1;
l1=l1->next;
}else{
tmp->next=l2;
l2=l2->next;
}
tmp=tmp->next;
}
if(l1) tmp->next=l1;
if(l2) tmp->next=l2;
return res->next;
}
};
22. 括號生成
數字 n 代表生成括號的對數,請你設計一個函式,用於能夠生成所有可能的並且 有效的 括號組合。
輸入:n = 3
輸出:[
“((()))”,
“(()())”,
“(())()”,
“()(())”,
“()()()”
]
dfs
分析 括號匹配問題的兩個準則
1 在任意字首中 做括號的數目嚴格大於右括號
2 左括號數目和有哦括號數目相同
class Solution {
public:
vector<string> res;
void dfs(int n,int lc,int rc,string path){
if(lc==n && rc==n) res.push_back(path);
else{
if(lc<n) dfs(n,lc+1,rc,path+"(");
if(rc<n && lc>rc) dfs(n,lc,rc+1,path+")");
}
}
vector<string> generateParenthesis(int n) {
dfs(n,0,0,"");
return res;
}
};
相關文章
- WebWorker究極探索Web
- 二級選單究極版之自學js系列JS
- BUUCTF-WEB(21-25)Web
- leetcode Sum系列LeetCode
- Redis核心技術筆記21-25Redis筆記
- 班級擂臺(光榮)榜 - 極簡教育小工具
- LeetCode系列46—全排列LeetCode
- 《地精公司》:一個究極版的大富翁應該是什麼樣子?
- 題世北眼段到究究己反had
- Leetcode刷題系列彙總LeetCode
- Gin框架系列01:極速上手框架
- Leetcode Meeting room問題系列 - 2LeetCodeOOM
- Leetcode Meeting room問題系列 - 1LeetCodeOOM
- 深度學習面試100題(第21-25題)深度學習面試
- win10系統下玩火影忍者究極風暴4出現白屏如何解決Win10
- WKWebView終究要入坑WebView
- 適用於鍵盤流、懶人、強迫症患者以及碼農的究極Mac使用指南Mac
- Leetcode 演算法題解系列 - 最小棧LeetCode演算法
- 一個究極版的大富翁應該是什麼樣子?試著分析《地精公司》的魅力所在
- 圖解leetcode5-10 | 和233醬一起刷leetcode系列(2)圖解LeetCode
- U盤的使用要講究
- 網遊終究不是單機
- Java 集合系列1、細思極恐之ArrayListJava
- LeetCode演算法系列,持續更新中...LeetCode演算法
- “資料安全管理”培訓班順利開班!
- 深 度 學 習 研 究 綜 述
- 條碼終究也會被取代
- 一切終究會回來
- LeetCode 演算法題系列(第一週 25道)LeetCode演算法
- 微服務治理技術研讀班即將開班!微服務
- PHP基礎班+就業班全套視訊學習教程PHP就業
- APT Group系列:來自北極熊的威脅——TurlaAPT
- Spring Security系列之極速入門與實踐教程Spring
- SpringBoot系列之Elasticsearch極速入門與實際教程Spring BootElasticsearch
- 刷 LeetCode 跟著這個系列就行啦----兩數之和LeetCode
- Leetcode 題解系列 -- 對稱二叉樹(遞迴)LeetCode二叉樹遞迴
- LeetCode 236. 二叉樹的最近公共祖先 極限效能演算法 比LeetCode 99%還快50倍LeetCode二叉樹演算法
- 27班後閒話