摘要: 问题:判断二叉树是否为平衡二叉树面试题55 - II. 平衡二叉树(从底至顶、从顶至底,清晰图解) - 平衡二叉树 - 力扣(LeetCode) 方法一:后序遍历+剪枝,自下而上 后续遍历节点,递归向上返回子树的深度,同时判断当前子树是否为平衡二叉树,若不是则直接返回,称为剪枝。 recur(Tre 阅读全文
posted @ 2023-02-13 21:19 QianFa01 阅读(121) 评论(0) 推荐(0)
摘要: 问题:二叉树的深度面试题55 - I. 二叉树的深度(后序遍历、层序遍历,清晰图解) - 二叉树的深度 - 力扣(LeetCode) 计算树的深度需要遍历树的所有节点,采用 深度优先搜索DFS、广度优先搜索BFS; 常见的DFS:先序、中序、后序; 常见的BFS:层序遍历 方法一:DFS之后续遍历, 阅读全文
posted @ 2023-02-13 20:00 QianFa01 阅读(58) 评论(0) 推荐(0)
摘要: 问题:二叉搜索树的第K大问题面试题54. 二叉搜索树的第 k 大节点(中序遍历 + 提前返回,清晰图解) - 二叉搜索树的第k大节点 - 力扣(LeetCode) 因为二叉搜索树的中序遍历是递增序列,所以中序遍历的倒序为递减序列,则第K大节点的问题转化为此树的中序遍历倒序的第K个节点。 遍历序列:左 阅读全文
posted @ 2023-02-13 17:29 QianFa01 阅读(47) 评论(0) 推荐(0)
摘要: 问题:在排序数组中查找数字target之二分查找剑指 Offer 53 - I. 在排序数组中查找数字 I - 力扣(LeetCode) 自己写的低效率: class Solution { public: int search(vector<int>& nums, int target) { uno 阅读全文
posted @ 2023-02-13 16:21 QianFa01 阅读(70) 评论(0) 推荐(0)
摘要: 问题:数组中重复的数字,且数值小于数字size-1 方法一:利用hash,遇到重复的数字时就返回 class Solution { public: int findRepeatNumber(vector<int>& nums) { unordered_map<int,bool>mp; for(aut 阅读全文
posted @ 2023-02-13 13:49 QianFa01 阅读(46) 评论(0) 推荐(0)