![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
文章平均质量分 93
晞君清
心悦诚服,至死不渝
展开
-
LeetCode 树习题
树的遍历 非递归实现 树的非递归有四种实现,先序中序后序 层次。 先序遍历 是单个栈模拟,先存入根节点。当栈不为空的时候弹出一个元素。先存入其右孩子,再存入左孩子。 using pti = pair<TreeNode *, int>; pti temp; stack< pti >s; s.push(pti(root, 1)); int ans = 0; while(!s.empty()) { temp = s.top(); s...原创 2021-07-14 16:18:52 · 80 阅读 · 0 评论 -
LeetCode 二分习题
二分模板 模板 #1 (left <= right) 用于查找一定存在的元素。 查找条件可以在不与元素的两侧进行比较的情况下确定(或使用它周围的特定元素)。 不需要后处理,因为每一步,都在检查是否找到了元素。如果到达末尾,则知道未找到该元素。 模板 #2 (left < right) 适用于查找峰值之类,峰值一定存在,夹逼出唯一一个结果,只要夹逼出l=r的情况就是结果 查找条件需要访问元素的直接右邻居。 使用元素的右邻居来确定是否满足条件,并决定是向左还是向右。.原创 2021-07-14 15:53:20 · 116 阅读 · 0 评论 -
Leetcode 刷题经验集
========================================== 1.树 剑指68 二叉搜索树的最近公共祖先 如果一个root是pq的公共祖先,要么,pq在root的两侧,要么,p或者q是root,另外一个是其左右子树中的节点。利用二叉树的性质,小于根节点的都在根节点的左侧,大于根节点的都在根节点的右侧。他们的公共祖先应该就在从根节点到他们的第一个大于a小于b的分叉节点。 剑指68-2 二叉树的最近公共祖先 考虑对二叉树后序遍历,搜索pq节点,找到后返回,自底向上回溯。 当一原创 2021-06-28 15:24:17 · 68 阅读 · 0 评论