![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法 - 二叉树
二叉树 - 算法
AttackingRookie
这个作者很懒,什么都没留下…
展开
-
leetcode - 95. 不同的二叉搜索树 II
public class Solution { public List<TreeNode> generateTrees(int n) { if (n == 0) { return new LinkedList<>(); } return generateTrees(1, n); } private List<TreeNode> generateTrees(int start原创 2022-04-20 10:58:48 · 64 阅读 · 0 评论 -
leetcode - 105. 从前序与中序遍历序列构造二叉树
模板 前序遍历 public TreeNode buildTree(int[] preOrder, int preL, int preR, int[] inOrder, int inL, int inR) { TreeNode root = new TreeNode(preOrder[preL]); root.left = buildTree(preOrder, preL + 1, preL + len, inOrder, inL, ind - 1);原创 2022-04-20 10:37:35 · 76 阅读 · 0 评论 -
leetcode - 124. 二叉树中的最大路径和
模板 后序遍历 public int dfs(TreeNode root) { if (null == root) { return 0; } // 获取左边最大 int left = dfs(root.left); // 获取右边最大 int right = dfs(root.right); // 和临时变量比较 res = Math.max(Math.max(0原创 2022-04-20 10:05:08 · 198 阅读 · 0 评论 -
leetcode - 145. 二叉树的后序遍历
非递归 public class Solution { public List<Integer> postorderTraversal(TreeNode root) { if (null == root) { return new ArrayList<>(); } ArrayList<Integer> res = new ArrayList<>(); Stack&原创 2022-04-20 09:46:57 · 190 阅读 · 0 评论 -
leetcode - 144. 二叉树的前序遍历
非递归 public class Solution { public List<Integer> preorderTraversal(TreeNode root) { if (null == root) { return new ArrayList<>(); } List<Integer> res = new ArrayList<>(); Stack<Tre原创 2022-04-20 09:18:30 · 212 阅读 · 0 评论 -
leetcode - 94. 二叉树的中序遍历
非递归 public class Solution { public List<Integer> inorderTraversal(TreeNode root) { if (null == root) { return new ArrayList<>(); } ArrayList<Integer> res = new ArrayList<>(); Stack<原创 2022-04-20 09:29:30 · 61 阅读 · 0 评论