<Tree.PreOrder> DFS 113, 129
113. Path Sum II
利用DFS的三要素, 出口1,出口2,拆解,记得回溯的时候要回退一位path。
class Solution {
    public List<List<Integer>> pathSum(TreeNode root, int sum) {
        List<List<Integer>> res = new ArrayList<>();
        dfs(res, new ArrayList<Integer>(), sum, root);
        return res;
    }
    private void dfs(List<List<Integer>> res, List<Integer> path, int sum, TreeNode root){
        if(root == null) return;
        sum -= root.val;
        //leaf node?
        if(root.left == null && root.right == null){
            if(sum == 0){
                path.add(root.val);
                res.add(new ArrayList<Integer>(path));
                path.remove(path.size() - 1);
            }
            return;
        }
        //拆解
        path.add(root.val);
        dfs(res, path, sum, root.left);
        dfs(res, path, sum, root.right);
        path.remove(path.size() - 1);
    }
}
129. Sum Root to Leaf Numbers
都是利用DFS递归来解,这道题由于不是单纯的把各个节点的数字相加,而是每遇到一个新的子结点的数字,要把父结点的数字扩大10倍之后再相加。如果遍历到叶结点了,就将当前的累加结果sum返回。如果不是,则对其左右子结点分别调用递归函数,将两个结果相加返回即可
class Solution {
    public int sumNumbers(TreeNode root) {
        return dfs(0, root);
    }
    private int dfs(int sum, TreeNode root){
        if(root == null) return 0;
        sum = sum * 10 + root.val;
        if(root.left == null && root.right == null){
            return sum;
        }
        return dfs(sum, root.left) + dfs(sum, root.right);
    }
}
<Tree.PreOrder> DFS 113, 129的更多相关文章
- Binary Tree Preorder Traversal and  Binary Tree Postorder Traversal
		Binary Tree Preorder Traversal Given a binary tree, return the preorder traversal of its nodes' valu ... 
- 【LeetCode】Binary Tree Preorder Traversal
		Binary Tree Preorder Traversal Given a binary tree, return the preorder traversal of its nodes' valu ... 
- 12. Binary Tree Postorder Traversal &&  Binary Tree Preorder Traversal
		详见:剑指 Offer 题目汇总索引:第6题 Binary Tree Postorder Traversal Given a binary tree, return the po ... 
- 3月3日(3) Binary Tree Preorder Traversal
		原题 Binary Tree Preorder Traversal 没什么好说的... 二叉树的前序遍历,当然如果我一样忘记了什么是前序遍历的.. 啊啊.. 总之,前序.中序.后序,是按照根的位置来 ... 
- Binary Tree Preorder Traversal on LeetCode in Java
		二叉树的非递归前序遍历,大抵是很多人信手拈来.不屑一顾的题目罢.然而因为本人记性不好.基础太差的缘故,做这道题的时候居然自己琢磨出了一种解法,虽然谈不上创新,但简单一搜也未发现雷同,权且记录,希望于人 ... 
- LeetCode之“树”:Binary Tree Preorder &&  Inorder && Postorder Traversal
		Binary Tree Preorder Traversal 题目链接 题目要求: Given a binary tree, return the preorder traversal of its ... 
- [LeetCode] N-ary Tree Preorder Traversal N叉树的前序遍历
		Given an n-ary tree, return the preorder traversal of its nodes' values. For example, given a 3-ary ... 
- C++版 - LeetCode 144. Binary Tree Preorder Traversal (二叉树先根序遍历,非递归)
		144. Binary Tree Preorder Traversal Difficulty: Medium Given a binary tree, return the preorder trav ... 
- LeetCode:144_Binary Tree Preorder Traversal | 二叉树的前序遍历 | Medium
		题目:Binary Tree Preorder Traversal 二叉树的前序遍历,同样使用栈来解,代码如下: struct TreeNode { int val; TreeNode* left; ... 
随机推荐
- 从应用到内核,分析top命令显示的进程名包含中括号"[]"的含义
			背景 在执行top/ps命令的时候,在COMMAND一列,我们会发现,有些进程名被[]括起来了,例如 PID PPID USER STAT VSZ %VSZ %CPU COMMAND 1542 928 ... 
- 物联网架构成长之路(31)-EMQ基于HTTP权限验证
			看过之前的文章就知道,我之前是通过搞插件,或者通过里面的MongoDB来进行EMQ的鉴权登录和权限验证.但是前段时间发现,还是通过HTTP WebHook 方式来调用鉴权接口比较适合实际使用.还是实现 ... 
- (三十一)golang--面向对象之工厂模式
			golang面向对象中是不存在构造函数的,可以使用工厂模式. 使用工厂模式,让即使不是大写的变量可以被外部包使用. 
- DirectShow 学习方法
			DirectShow(简称 DShow) 是一个 Windows 平台上的流媒体框架,提供了高质量的多媒体流采集和回放功能. 这篇博客主要是简单讲下如何学习 Direct Show 框架,避免让自己少 ... 
- 有状态 Vs 无状态
			NET Core 分布式框架 公司物联网项目集成Orleans以支持高并发的分布式业务,对于Orleans也是第一次接触,本文就分享下个人对Orleans的理解. 这里先抛出自己的观点:Orleans ... 
- LeetCode 155:最小栈 Min Stack
			LeetCode 155:最小栈 Min Stack 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈. push(x) -- 将元素 x 推入栈中. pop() -- ... 
- 基于仿射的非刚体配准方法(i) 法向
			为啥闲呢,因为work干完了. 为啥补档呢,因为有新work了. 呃,因为新work让人自闭. 我现在干完了两部分.一是把最近邻的部分迁移过来. 二是求法向. 首先是给三个点,就能确定平面——因为是三 ... 
- 在项目中使用Solr
			web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=" ... 
- Spring源码系列 — Bean生命周期
			前言 上篇文章中介绍了Spring容器的扩展点,这个是在Bean的创建过程之前执行的逻辑.承接扩展点之后,就是Spring容器的另一个核心:Bean的生命周期过程.这个生命周期过程大致经历了一下的几个 ... 
- powershell与linux bash对比
			转自Github/Powershell Bash PowerShell Description ls dir, Get-ChildItem List files and folders tree di ... 
