正常写法

bool HasPathSum(TreeNode root, int sum) {
bool ret=false;
if(root==null)return false;
if(root.left==null&&root.right==null) return root.val==sum;
if(root.left!=null)
{ ret=ret|| HasPathSum(root.left,sum-root.val);
}
if(root.right!=null)
{ ret=ret|| HasPathSum(root.right,sum-root.val);
}
return ret;
}

  破坏性写法

bool HasPathSum(TreeNode root, int sum) {
bool ret=false;
if(root==null)return false;
if(root.left==null&&root.right==null) return root.val==sum;
if(root.left!=null)
{
root.left.val+=root.val;
ret=ret|| HasPathSum(root.left,sum);
}
if(root.right!=null)
{
root.right.val+=root.val;
ret=ret|| HasPathSum(root.right,sum);
}
return ret;
}

  在leetcode中第二种方法速度快,但是破坏了原树的值

最新文章

  1. MySQL备份mydumper的原理
  2. c#字符串操作方法实例
  3. TensorFlow的开源与Hadoop的开源
  4. 配置zabbix当内存剩余不足10%的时候触发报警
  5. 程序员"青春饭"问题之我见
  6. Redis的初步安装
  7. 我给女朋友讲编程html系列(2) --Html标题标签h1
  8. C# 对JS编码/解码进行转换
  9. Jquery二级简单折叠菜单
  10. glassfish PWC6351: In TLD scanning 系统找不到指定的文件问题解决
  11. React模块化开发
  12. Centos 7安装python3
  13. faiss索引基于数量级和内存限制的选择
  14. 【实战】Docker入门实践二:Docker服务基本操作 和 测试Hello World
  15. Gerrit日常维护记录
  16. 元组&哈希&字典
  17. Django入门与实践-第16章:用户登录(完结)
  18. Python学习---模拟微信网页登录180410
  19. Firebird 日期时间
  20. sql server安装教程(2008 R2,图形界面安装/命令提示符安装即静默安装)

热门文章

  1. Docker 镜像运行时区不准确处理
  2. 用Web Services来整合.NET和J2EE
  3. Android开发专业名词及工具概述
  4. SpringBoot整合定时任务
  5. [20180627]测试bbed是否支持管道命令.txt
  6. Ext.net 3.1学习
  7. WampServer 安装使用详解
  8. Python基础知识:测试代码
  9. 【PAT】B1051 复数乘法(15 分)
  10. win10锁屏或睡眠一段时间后弹不出登录框