数据结构与算法
KriyWu
走马西来欲到天,辞家见月两回圆
展开
-
算法 | 二叉树的遍历
前序 // 递归 public void preOrderTraverse(TreeNode root) { if (root != null) { System.out.print(root.val+" "); preOrderTraverse1(root.left); preOrder...原创 2019-01-25 20:42:00 · 92 阅读 · 0 评论 -
算法 | 剑指Offer-24 二叉树中和为某一值的路径
问题描述: 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前) 基本思路: 二叉树的路径问题,基于二叉树的遍历。也就是说既可以是递归形式也可以是非递归形式。 递归解决方案 以下是非递归方案: 以下三点是主要考虑的问题。 因为要计算路...原创 2018-11-18 21:13:00 · 107 阅读 · 0 评论 -
算法 | 剑指Offer-36 二叉树深度(广度遍历)
输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 难度:易 计算二叉树深度的问题是基于二叉树的广度优先遍历,以下是递归和非递归 写法。 递归写法 public int TreeDepth(TreeNode root) { if(root == null) return 0;// 递归出口 // 树的...原创 2019-01-15 11:59:00 · 113 阅读 · 0 评论