树
共 37 篇文章
leetcode450. 删除二叉搜索树中的节点
分析如果目标节点大于当前节点值,则去右子树中删除;如果目标节点小于当前节点值,则去左子树中删除;如果目标节点就是当前节点,分为以下三种情况:其无左子:其右子顶替其位置,删除了该节点;其无右子:其左子顶替其位置,删除了该节点;其左右子节点都有:其左子树转移到其右子树的最左节点的左子树上,然后右子树顶替
leetcode1038. 从二叉搜索树到更大和树
分析二叉搜索树的先序遍历就是从小到大排列,那么反过来逆先序遍历就是从大到小,此时将sum赋给根节点即可。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left;
leetcode108. 将有序数组转换为二叉搜索树
暂无摘要...
leetcode114. 二叉树展开为链表
暂无摘要...
leetcode199. 二叉树的右视图
暂无摘要...
leetcode113. 路径总和 II
暂无摘要...
leetcode105. 从前序与中序遍历序列构造二叉树
分析前序遍历中可以找出中序遍历的根节点。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * Tre
leetcode103. 二叉树的锯齿形层序遍历
暂无摘要...
leetcode206. 反转链表
分析头插法:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} *
leetcode236. 二叉树的最近公共祖先
分析如果当前结点 root 等于 NULL,则直接返回 NULL如果 root 等于p或者q ,那这棵树一定返回p或者q3.然后递归左右子树,因为是递归,使用函数后可认为左右子树已经算出结果,用 left和right 表示此时若left为空,那最终结果只要看right;若right 为空,那最终结果