回溯 part03

回溯 part03

leetcode 93. 复原 IP 地址 题目描述 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.245"、

算法 

回溯 part02

算法 

leetcode 39. 组合总和 题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中
回溯 part01

回溯 part01

leetcode 77. 组合 题目描述 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 输入:n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 题目链

算法 

二叉树 part08

leetcode 669. 修剪二叉搜索树 问题描述 给你二叉搜索树的根节点 root ,同时给定最小边界 low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在 [low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保

算法 
二叉树 part08
二叉树 part07

二叉树 part07

leetcode 235. 二叉搜索树的最近公共祖先 题目描述 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自

算法 

二叉树 part06

leetcode 530. 二叉搜索树的最小绝对差 题目描述 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。 示例 输入:root = [4,2,6,1,3] 输出:1 题目链接 https://leetcode.c

算法 
二叉树 part06
二叉树 part05

二叉树 part05

leetcode 654. 最大二叉树 题目描述 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建右子树。

算法 

二叉树 part04

leetcode 513. 找树左下角的值 题目描述 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7 题目链接 https://leetcode.c

算法 
二叉树 part04
二叉树 part03

二叉树 part03

leetcode 110. 平衡二叉树 题目描述 给定一个二叉树,判断它是否是 平衡二叉树 示例 输入:root = [3,9,20,null,null,15,7] 输出:true 解决思路 根据平衡二叉树的定义,左右子树高度差小于等于1,且左右子树也都是平衡的。进行自上而下递归查询 class S

算法 

二叉树 part02

leetcode 226. 翻转二叉树 题目描述 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 解题思路 逐层交换左右子节点 class Solution { public

算法 
二叉树 part02