zoukankan      html  css  js  c++  java
  • [leetcode] Path Sum

    问题描写叙述:

    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 class TreeNode {
    	      int val;
    	      TreeNode left;
    	      TreeNode right;
    	      TreeNode(int x) { val = x; }
    	 }
    	
    	    public boolean hasPathSum(TreeNode root, int sum) {
    	    	if(root == null)
    	    		return false;
    	    	
    	    	 return getPathNum(root,sum);
    	    	
    	    	
    	    	
    	    }
    	    
    	    public boolean getPathNum(TreeNode root, int sum){
    	    	if(root.left == null && root.right ==null){
    	    		if(sum == root.val)
    	    			return true;
    	    		else return false;
    	    		
    	    	}
    	    	
    	    	
    	    	boolean ltest = false;
    	    	boolean rtest = false;
    	    	
    	    	if(root.left !=null)
    	    		ltest = getPathNum(root.left, sum-root.val);
    	    	if(root.right !=null)
    	    		rtest = getPathNum(root.right, sum-root.val);
    	    	
    	    	return (ltest||rtest);
    	    }
    	    


  • 相关阅读:
    分离 附加 还原
    sql sever 数据表
    正则矩阵
    路由vue-router基础
    vue理解$nextTick
    vue组件
    vue事件处理
    vue列表渲染
    vue条件渲染
    vue class与style绑定
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/7257648.html
Copyright © 2011-2022 走看看