
二叉树
文章平均质量分 63
qq_18237229
这个作者很懒,什么都没留下…
展开
-
二叉树的前序遍历(递归+非递归)
二叉树的前序遍历 前序遍历:中-左-右 递归方式 public ArrayList preorderTraversal(TreeNode root) { // write your code here ArrayList arr = new ArrayList(); inorder(arr,root); return arr;原创 2016-04-15 10:48:45 · 254 阅读 · 0 评论 -
二叉树后续遍历(递归+非递归)
二叉树后续遍历:左-右-中 树节点类 class TreeNode { public int val; public TreeNode left, right; public TreeNode(int val) { this.val = val; this.left = this.right = null; }原创 2016-04-15 11:16:30 · 333 阅读 · 0 评论 -
二叉树的所有路径
题目:给一棵二叉树,找出从根节点到叶子节点的所有路径。 二叉树 1 / \ 2 3 \ 5 [ "1->2->5", "1->3" ] 思路:分别递归左右子树,直到各个叶子节点。用list存储每次路径 /* * 二叉树的所有路径 */ public class BinaryTreePaths { public List binaryTree原创 2016-04-19 18:03:39 · 251 阅读 · 0 评论 -
二叉树中序遍历(递归+非递归)
二叉树中序遍历:左-中-右 树节点 class TreeNode { public int val; public TreeNode left, right; public TreeNode(int val) { this.val = val; this.left = this.right = null;原创 2016-04-15 11:03:12 · 345 阅读 · 0 评论 -
翻转二叉树(递归非递归)
翻转一颗二叉树 1 1 / \ / \ 2 3 => 3 2 / \ 4 4 思路(非递归):在leetcide讨论区看到的。这里很巧妙利用了一个栈来处理,利用深度遍历优先的思想来处理。 /* * 翻转二叉树 */ public class InvertBinaryTree {原创 2016-04-19 18:45:07 · 424 阅读 · 0 评论