From 41656d182789680af00a01f64d485043d9bedd33 Mon Sep 17 00:00:00 2001 From: youngyangyang04 <826123027@qq.com> Date: Tue, 20 Oct 2020 15:40:54 +0800 Subject: [PATCH] Update --- README.md | 2 + pics/143.重排链表.png | Bin 0 -> 117606 bytes problems/0042.接雨水.md | 12 +- problems/0084.柱状图中最大的矩形.md | 31 ++++ problems/0143.重排链表.md | 160 +++++++++++++++++ problems/0219.存在重复元素II.md | 16 ++ .../0222.完全二叉树的节点个数.md | 2 +- .../0701.二叉搜索树中的插入操作.md | 168 +++++++++++++++--- 8 files changed, 367 insertions(+), 24 deletions(-) create mode 100644 pics/143.重排链表.png create mode 100644 problems/0084.柱状图中最大的矩形.md create mode 100644 problems/0143.重排链表.md diff --git a/README.md b/README.md index 552450dc..b7f926fe 100644 --- a/README.md +++ b/README.md @@ -281,6 +281,7 @@ |[0131.分割回文串](https://github.com/youngyangyang04/leetcode/blob/master/problems/0131.分割回文串.md) |回溯 |中等|**回溯**| |[0141.环形链表](https://github.com/youngyangyang04/leetcode/blob/master/problems/0141.环形链表.md) |链表 |简单|**快慢指针/双指针**| |[0142.环形链表II](https://github.com/youngyangyang04/leetcode/blob/master/problems/0142.环形链表II.md) |链表 |中等|**快慢指针/双指针**| +|[0143.重排链表](https://github.com/youngyangyang04/leetcode/blob/master/problems/0143.重排链表.md) |链表 |中等|**快慢指针/双指针** 也可以用数组,双向队列模拟,考察链表综合操作的好题| |[0144.二叉树的前序遍历](https://github.com/youngyangyang04/leetcode/blob/master/problems/0144.二叉树的前序遍历.md) |树 |中等|**递归** **迭代/栈**| |[0145.二叉树的后序遍历](https://github.com/youngyangyang04/leetcode/blob/master/problems/0145.二叉树的后序遍历.md) |树 |困难|**递归** **迭代/栈**| |[0151.翻转字符串里的单词](https://github.com/youngyangyang04/leetcode/blob/master/problems/0151.翻转字符串里的单词.md) |字符串 |中等|**模拟/双指针**| @@ -339,6 +340,7 @@ |[0705.设计哈希集合](https://github.com/youngyangyang04/leetcode/blob/master/problems/0705.设计哈希集合.md) |哈希表 |简单|**模拟**| |[0707.设计链表](https://github.com/youngyangyang04/leetcode/blob/master/problems/0707.设计链表.md) |链表 |中等|**模拟**| |[0841.钥匙和房间](https://github.com/youngyangyang04/leetcode/blob/master/problems/0841.钥匙和房间.md) |孤岛问题 |中等|**bfs** **dfs**| +|[0844.比较含退格的字符串](https://github.com/youngyangyang04/leetcode/blob/master/problems/0844.比较含退格的字符串.md) |字符串 |简单|**栈** **双指针优化** 使用栈的思路但没有必要使用栈| |[0977.有序数组的平方](https://github.com/youngyangyang04/leetcode/blob/master/problems/0977.有序数组的平方.md) |数组 |中等|**双指针**| |[1002.查找常用字符](https://github.com/youngyangyang04/leetcode/blob/master/problems/1002.查找常用字符.md) |栈 |简单|**栈**| |[1047.删除字符串中的所有相邻重复项](https://github.com/youngyangyang04/leetcode/blob/master/problems/1047.删除字符串中的所有相邻重复项.md) |哈希表 |简单|**哈希表/数组**| diff --git a/pics/143.重排链表.png b/pics/143.重排链表.png new file mode 100644 index 0000000000000000000000000000000000000000..2fc94408229f507078391b2d864755e383226017 GIT binary patch literal 117606 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

=YWTv3klkHm$hFC!>~!NdHr;4`f0Tsx`iVb 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 literal 0 HcmV?d00001 diff --git a/problems/0042.接雨水.md b/problems/0042.接雨水.md index fd5d5d3a..05cf9e08 100644 --- a/problems/0042.接雨水.md +++ b/problems/0042.接雨水.md @@ -170,7 +170,13 @@ public: 那么本题使用单调栈有如下几个问题: -1. 使用单调栈内元素的顺序 +1. 首先单调栈是按照行方向来计算雨水,如图: + + + +知道这一点,后面的就可以理解了。 + +2. 使用单调栈内元素的顺序 从大到小还是从小打到呢? @@ -183,7 +189,7 @@ public: -2. 遇到相同高度的柱子怎么办。 +3. 遇到相同高度的柱子怎么办。 遇到相同的元素,更新栈内下表,就是将栈里元素(旧下标)弹出,将新元素(新下标)加入栈中。 @@ -197,7 +203,7 @@ public: -3. 栈里要保存什么数值 +4. 栈里要保存什么数值 是用单调栈,其实是通过 长 * 宽 来计算雨水面积的。 diff --git a/problems/0084.柱状图中最大的矩形.md b/problems/0084.柱状图中最大的矩形.md new file mode 100644 index 00000000..2c0eae97 --- /dev/null +++ b/problems/0084.柱状图中最大的矩形.md @@ -0,0 +1,31 @@ + +# 链接 + +https://leetcode-cn.com/problems/largest-rectangle-in-histogram/ + +## 思路 + +``` +class Solution { +public: + int largestRectangleArea(vector& heights) { + int sum = 0; + for (int i = 0; i < heights.size(); i++) { + int left = i; + int right = i; + for (; left >= 0; left--) { + if (heights[left] < heights[i]) break; + } + for (; right < heights.size(); right++) { + if (heights[right] < heights[i]) break; + } + int w = right - left - 1; + int h = heights[i]; + sum = max(sum, w * h); + } + return sum; + } +}; +``` + +如上代码并不能通过leetcode,超时了,因为时间复杂度是O(n^2)。 diff --git a/problems/0143.重排链表.md b/problems/0143.重排链表.md new file mode 100644 index 00000000..a51f79b3 --- /dev/null +++ b/problems/0143.重排链表.md @@ -0,0 +1,160 @@ + +# 思路 + +本篇将给出三种C++实现的方法 + +* 数组模拟 +* 双向队列模拟 +* 直接分割链表 + +## 方法一 + +把链表放进数组中,然后通过双指针法,一前一后,来遍历数组,构造链表。 + +代码如下: + +``` +class Solution { +public: + void reorderList(ListNode* head) { + vector vec; + ListNode* cur = head; + if (cur == nullptr) return; + while(cur != nullptr) { + vec.push_back(cur); + cur = cur->next; + } + cur = head; + int i = 1; + int j = vec.size() - 1; + int count = 0; // 计数,用来取前面,取后面 + while (i <= j) { + if (count % 2 == 0) { + cur->next = vec[j]; + j--; + } else { + cur->next = vec[i]; + i++; + } + cur = cur->next; + count++; + } + if (vec.size() % 2 == 0) { + cur->next = vec[i]; + cur = cur->next; + } + cur->next = nullptr; // 注意结尾 + } +}; +``` + +## 方法二 + +把链表放进双向队列,然后通过双向队列一前一后弹出数据,来构造新的链表。这种方法比操作数组容易一些,不用双指针模拟一前一后了 +``` +class Solution { +public: + void reorderList(ListNode* head) { + deque que; + ListNode* cur = head; + if (cur == nullptr) return; + + while(cur->next != nullptr) { + que.push_back(cur->next); + cur = cur->next; + } + + cur = head; + int count = 0; + ListNode* node; + while(que.size()) { + if (count % 2 == 0) { + node = que.back(); + que.pop_back(); + } else { + node = que.front(); + que.pop_front(); + } + count++; + cur->next = node; + cur = cur->next; + } + cur->next = nullptr; + } +}; +``` + +## 方法三 + +将链表分割成两个链表,然后把第二个链表反转,之后在通过两个链表拼接成新的链表。 + +如图: + + + +这种方法,比较难,平均切割链表,看上去很简单,真正代码写的时候有很多细节,同时两个链表最后拼装整一个新的链表也有一些细节需要注意! + +代码如下: + +``` +class Solution { +private: + ListNode* reverseList(ListNode* head) { + ListNode* temp; // 保存cur的下一个节点 + ListNode* cur = head; + ListNode* pre = NULL; + while(cur) { + temp = cur->next; // 保存一下 cur的下一个节点,因为接下来要改变cur->next + cur->next = pre; // 翻转操作 + // 更新pre 和 cur指针 + pre = cur; + cur = temp; + } + return pre; + } + +public: + void reorderList(ListNode* head) { + if (head == nullptr) return; + // 使用快慢指针法,将链表分成长度均等的两个链表head1和head2 + // 如果总链表长度为奇数,则head1相对head2多一个节点 + ListNode* fast = head; + ListNode* slow = head; + while (fast && fast->next && fast->next->next) { + fast = fast->next->next; + slow = slow->next; + } + ListNode* head1 = head; + ListNode* head2; + head2 = slow->next; + slow->next = nullptr; + + // 对head2进行翻转 + head2 = reverseList(head2); + + // 将head1和head2交替生成新的链表head + ListNode* cur1 = head1; + ListNode* cur2 = head2; + ListNode* cur = head; + cur1 = cur1->next; + int count = 0; + while (cur1 && cur2) { + if (count % 2 == 0) { + cur->next = cur2; + cur2 = cur2->next; + } else { + cur->next = cur1; + cur1 = cur1->next; + } + count++; + cur = cur->next; + } + if (cur2 != nullptr) { + cur->next = cur2; + } + if (cur1 != nullptr) { + cur->next = cur1; + } + } +}; +``` diff --git a/problems/0219.存在重复元素II.md b/problems/0219.存在重复元素II.md index ddc67051..4835a7f0 100644 --- a/problems/0219.存在重复元素II.md +++ b/problems/0219.存在重复元素II.md @@ -30,6 +30,22 @@ public: }; ``` +代码精简之后 + +``` +class Solution { +public: + bool containsNearbyDuplicate(vector& nums, int k) { + unordered_map map; + for (int i = 0; i < nums.size(); i++) { + if (map.find(nums[i]) != map.end() && i - map[nums[i]] <= k) return true; + map[nums[i]] = i; + } + return false; + } +}; +``` + > 更过算法干货文章持续更新,可以微信搜索「代码随想录」第一时间围观,关注后,回复「Java」「C++」 「python」「简历模板」「数据结构与算法」等等,就可以获得我多年整理的学习资料。 diff --git a/problems/0222.完全二叉树的节点个数.md b/problems/0222.完全二叉树的节点个数.md index 6387e25f..183ba488 100644 --- a/problems/0222.完全二叉树的节点个数.md +++ b/problems/0222.完全二叉树的节点个数.md @@ -21,7 +21,7 @@ https://leetcode-cn.com/problems/count-complete-tree-nodes/ 依然可以使用递归法和迭代法来解决。 -这道题目的递归法和求二叉树的深度写法类似, 而迭代法:二叉树层序遍历模板稍稍修改一下,记录遍历的节点数量就可以了。 +这道题目的递归法和求二叉树的深度写法类似, 而迭代法,[二叉树:层序遍历登场!](https://mp.weixin.qq.com/s/Gb3BjakIKGNpup2jYtTzog)遍历模板稍稍修改一下,记录遍历的节点数量就可以了。 递归遍历的顺序依然是后序(左右中)。 diff --git a/problems/0701.二叉搜索树中的插入操作.md b/problems/0701.二叉搜索树中的插入操作.md index 21b71876..045c7f73 100644 --- a/problems/0701.二叉搜索树中的插入操作.md +++ b/problems/0701.二叉搜索树中的插入操作.md @@ -1,37 +1,98 @@ ## 题目地址 https://leetcode-cn.com/problems/insert-into-a-binary-search-tree/ -## 思路 +> 开始修改二叉搜索树 -其实这道题目是一道很简单的题目,**但是题目中的提示:有多种有效的插入方式,还可以重构二叉搜索树,一下子吓退了不少人**,瞬间感觉题目复杂了很多。 +# 701.二叉搜索树中的插入操作 + +链接:https://leetcode-cn.com/problems/insert-into-a-binary-search-tree/ + +给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。 + +注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。 + +![701.二叉搜索树中的插入操作](https://img-blog.csdnimg.cn/20201019173259554.png) +  +提示: + +* 给定的树上的节点数介于 0 和 10^4 之间 +* 每个节点都有一个唯一整数值,取值范围从 0 到 10^8 +* -10^8 <= val <= 10^8 +* 新值和原始二叉搜索树中的任意节点值都不同 + +# 思路 + +其实这道题目其实是一道简单题目,**但是题目中的提示:有多种有效的插入方式,还可以重构二叉搜索树,一下子吓退了不少人**,瞬间感觉题目复杂了很多。 其实**可以不考虑题目中提示所说的改变树的结构的插入方式。** 如下演示视频中可以看出:只要按照二叉搜索树的规则去遍历,遇到空节点就插入节点就可以了。 -例如插入元素10 ,需要找到末尾节点插入便可,一样的道理来插入元素15,插入元素0,插入元素6,**需要调整二叉树的结构么? 并不需要。**只需要遍历二叉搜索树,找到空节点 插入元素就可以了, 那么这道题其实就非常简单了。 - +例如插入元素10 ,需要找到末尾节点插入便可,一样的道理来插入元素15,插入元素0,插入元素6,**需要调整二叉树的结构么? 并不需要。**。 + +只要遍历二叉搜索树,找到空节点 插入元素就可以了,那么这道题其实就简单了。 + 接下来就是遍历二叉搜索树的过程了。 +## 递归 + +递归三部曲: + +* 确定递归函数参数以及返回值 + +参数就是根节点指针,以及要插入元素,这里递归函数要不要有返回值呢? + +可以有,也可以没有,但递归函数如果没有返回值的话,实现是比较麻烦的,下面也会给出其具体实现代码。 + +**有返回值的话,可以利用返回值完成新加入的节点与其父节点的赋值操作**。(下面会进一步解释) + +递归函数的返回类型为节点类型TreeNode * 。 + 代码如下: -## C++代码 - -### 递归 ``` -/** - * Definition for a binary tree node. - * struct TreeNode { - * int val; - * TreeNode *left; - * TreeNode *right; - * TreeNode() : val(0), left(nullptr), right(nullptr) {} - * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} - * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} - * }; - */ +TreeNode* insertIntoBST(TreeNode* root, int val) +``` + +* 确定终止条件 + +终止条件就是找到遍历的节点为null的时候,就是要插入节点的位置了,并把插入的节点返回。 + +代码如下: + +``` +if (root == NULL) { + TreeNode* node = new TreeNode(val); + return node; +} +``` + +这里把添加的节点返回给上一层,就完成了父子节点的赋值操作了,详细再往下看。 + +* 确定单层递归的逻辑 + +此时要明确,需要遍历整棵树么? + +别忘了这是搜索树,遍历整颗搜索树简直是对搜索树的侮辱,哈哈。 + +搜索树是有方向了,可以根据插入元素的数值,决定递归方向。 + +代码如下: + +``` +if (root->val > val) root->left = insertIntoBST(root->left, val); +if (root->val < val) root->right = insertIntoBST(root->right, val); +return root; +``` + +**到这里,大家应该能感受到,如何通过递归函数返回值完成了新加入节点的父子关系赋值操作了,上一层将加入节点返回,本层用root->left或者root->right将其接住**。 + + +整体代码如下: + +``` class Solution { public: TreeNode* insertIntoBST(TreeNode* root, int val) { @@ -46,12 +107,67 @@ public: }; ``` -### 迭代 +可以看出代码并不复杂。 -在来看看迭代法 +刚刚说了递归函数不用返回值也可以,找到插入的节点位置,直接让其父节点指向插入节点,结束递归,也是可以的。 + +那么递归函数定义如下: + +``` +TreeNode* parent; // 记录遍历节点的父节点 +void traversal(TreeNode* cur, int val) +``` + +没有返回值,需要记录上一个节点(parent),遇到空节点了,就让parent左孩子或者右孩子指向新插入的节点。然后结束递归。 + +代码如下: + +``` +class Solution { +private: + TreeNode* parent; + void traversal(TreeNode* cur, int val) { + if (cur == NULL) { + TreeNode* node = new TreeNode(val); + if (val > parent->val) parent->right = node; + else parent->left = node; + return; + } + parent = cur; + if (cur->val > val) traversal(cur->left, val); + if (cur->val < val) traversal(cur->right, val); + return; + } + +public: + TreeNode* insertIntoBST(TreeNode* root, int val) { + parent = new TreeNode(0); + if (root == NULL) { + root = new TreeNode(val); + } + traversal(root, val); + return root; + } +}; +``` + +可以看出还是麻烦一些的。 + +我之所以举这个例子,是想说明通过递归函数的返回值完成父子节点的赋值是可以带来便利的。 + +**网上千变一律的代码,可能会误导大家认为通过递归函数返回节点 这样的写法是天经地义,其实这里是有优化的!** + + +## 迭代 + +再来看看迭代法,对二叉搜索树迭代写法不熟悉,可以看这篇:[二叉树:二叉搜索树登场!](https://mp.weixin.qq.com/s/vsKrWRlETxCVsiRr8v_hHg) 在迭代法遍历的过程中,需要记录一下当前遍历的节点的父节点,这样才能做插入节点的操作。 +在[二叉树:搜索树的最小绝对差](https://mp.weixin.qq.com/s/Hwzml6698uP3qQCC1ctUQQ)和[二叉树:我的众数是多少?](https://mp.weixin.qq.com/s/KSAr6OVQIMC-uZ8MEAnGHg)中,都是用了记录pre和cur两个指针的技巧,本题也是一样的。 + +代码如下: + ``` class Solution { public: @@ -75,4 +191,16 @@ public: }; ``` +# 总结 + +首先在二叉搜索树中的插入操作,大家不用恐惧其重构搜索树,其实根本不用重构。 + +然后在递归中,我们重点讲了如果通过递归函数的返回值完成新加入节点和其父节点的赋值操作,并强调了搜索树的有序性。 + +最后依然给出了迭代的方法,迭代的方法就需要记录当前遍历节点的父节点了,这个和没有返回值的递归函数实现的代码逻辑是一样的。 + +**就酱,学到了就转发给身边需要的同学吧!** + + + > 更多算法干货文章持续更新,可以微信搜索「代码随想录」第一时间围观,关注后,回复「Java」「C++」 「python」「简历模板」「数据结构与算法」等等,就可以获得我多年整理的学习资料。