博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
30:Path Sum
阅读量:5314 次
发布时间:2019-06-14

本文共 651 字,大约阅读时间需要 2 分钟。

/* Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.

For example:
Given the below binary tree and sum = 22,
              5
             / \
            4   8
           /   / \
          11  13  4
         /  \      \
        7    2      1
return true, as there exist a root-to-leaf path 5->4->11->2 which sum is 22.
     * */

 

使用常见的递归算法:

public boolean hasPathSum_standard(TreeNode root, int sum) {

      if(root == null) return false;
      if(root.left == null && root.right == null && sum - root.val == 0)
          return true;
      return hasPathSum(root.left, sum - root.val) || hasPathSum(root.right, sum - root.val);
  }
   

 

转载于:https://www.cnblogs.com/theonemars/p/4097929.html

你可能感兴趣的文章
JDeveloper中文乱码问题
查看>>
VS2008、VS2010中如何屏蔽讨厌的MSVCR*.dll的引用
查看>>
【mongoDB运维篇③】replication set复制集
查看>>
java--用 * 打印出各种图形(新手请进)
查看>>
【知识分享】异步调用与多线程的区别
查看>>
win7 32位 安装opencv-python后,运行时提示 "from .cv2 import *: DLL load failed: 找不到指定的模块" 的解决办法...
查看>>
安装SQLserver2008
查看>>
哎,累死了~..~
查看>>
查看MySQL的当前日期
查看>>
vmware 克隆后Linux没有eth网卡只有lo
查看>>
MySQL索引背后的数据结构及算法原理
查看>>
C语言控制流对应的汇编语句
查看>>
ASP.NET WebApi 基于JWT实现Token签名认证
查看>>
ansible
查看>>
Xcode9学习笔记78 - 使用Timer执行定时任务
查看>>
es6 模块化
查看>>
linux command1
查看>>
QWaiteCondition思考3
查看>>
交换两个局部变量Integer的值
查看>>
3-1
查看>>