首页 > 其他 > 详细

LeetCode112:Path Sum

时间:2015-08-14 11:27:14      阅读:194      评论:0      收藏:0      [点我收藏+]

正常写法

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中第二种方法速度快,但是破坏了原树的值

LeetCode112:Path Sum

原文:http://www.cnblogs.com/darksied/p/4729148.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!