成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

leetcode112 path sum

Lsnsh / 1886人閱讀

摘要:題目要求假設(shè)有一個(gè)二叉樹(shù),和一個(gè)目標(biāo)值,如果存在一條從根節(jié)點(diǎn)到葉節(jié)點(diǎn)的路徑,該路徑上所有節(jié)點(diǎn)上的值的和恰好等于該目標(biāo)值,則返回,否則返回方法的輸入為根節(jié)點(diǎn)和目標(biāo)值例如假設(shè)有一顆二叉樹(shù)如下,目標(biāo)值為,結(jié)果返回,因?yàn)榇嬖谝粭l路徑其和為思路

題目要求

假設(shè)有一個(gè)二叉樹(shù),和一個(gè)目標(biāo)值,如果存在一條從根節(jié)點(diǎn)到葉節(jié)點(diǎn)的路徑,該路徑上所有節(jié)點(diǎn)上的值的和恰好等于該目標(biāo)值,則返回true,否則返回FALSE
方法的輸入為根節(jié)點(diǎn)和目標(biāo)值
例如:假設(shè)有一顆二叉樹(shù)如下,目標(biāo)值為22,結(jié)果返回true,因?yàn)榇嬖谝粭l路徑5->4->11->2其和為22

              5
             / 
            4   8
           /   / 
          11  13  4
         /        
        7    2      1
思路一 : 遞歸
/**
 * @author rale
 *
 *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 PathSum_112 {
    public boolean hasPathSum(TreeNode root, int sum) {
        if(root==null){
            return false;
        }
        sum -= root.val;
        if(root.left==null && root.right==null && sum==0){
            return true;
        }
        return hasPathSum(root.left, sum) || hasPathSum(root.right, sum);
    }
    public class TreeNode {
        int val;
        TreeNode left;
        TreeNode right;
        TreeNode(int x) { val = x; }
    }
}
思路二:循環(huán)(使用堆棧)
public class PathSum_112 {    
    public boolean hasPathSum2(TreeNode root, int sum) {
        Stack  stack = new Stack<> ();        
        stack.push(root) ;        
        while (!stack.isEmpty() && root != null){
            TreeNode cur = stack.pop() ;    
            if (cur.left == null && cur.right == null){                
                if (cur.val == sum ) return true ;
            }
            if (cur.right != null) {
                cur.right.val = cur.val + cur.right.val ;
                stack.push(cur.right) ;
            }
            if (cur.left != null) {
                cur.left.val = cur.val + cur.left.val;
                stack.push(cur.left);
            }
        }        
        return false ;
    }
    
    public class TreeNode {
        int val;
        TreeNode left;
        TreeNode right;
        TreeNode(int x) { val = x; }
    }
}


想要了解更多開(kāi)發(fā)技術(shù),面試教程以及互聯(lián)網(wǎng)公司內(nèi)推,歡迎關(guān)注我的微信公眾號(hào)!將會(huì)不定期的發(fā)放福利哦~

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/66907.html

相關(guān)文章

  • LeetCode 之 JavaScript 解答第112題 —— 路徑總和(Path Sum

    摘要:小鹿題目路徑總和給定一個(gè)二叉樹(shù)和一個(gè)目標(biāo)和,判斷該樹(shù)中是否存在根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的路徑,這條路徑上所有節(jié)點(diǎn)值相加等于目標(biāo)和。說(shuō)明葉子節(jié)點(diǎn)是指沒(méi)有子節(jié)點(diǎn)的節(jié)點(diǎn)。 Time:2019/4/26Title: Path SumDifficulty: EasyAuthor: 小鹿 題目:Path Sum(路徑總和) Given a binary tree and a sum, determin...

    lylwyy2016 評(píng)論0 收藏0
  • [LeetCode] Path Sum (I & II & III)

    摘要: 112. Path Sum Problem 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. Note: A leaf is a node...

    張金寶 評(píng)論0 收藏0
  • leetcode部分題目答案之JavaScript版

    摘要:自己沒(méi)事刷的一些的題目,若有更好的解法,希望能夠一起探討項(xiàng)目地址 自己沒(méi)事刷的一些LeetCode的題目,若有更好的解法,希望能夠一起探討 Number Problem Solution Difficulty 204 Count Primes JavaScript Easy 202 Happy Number JavaScript Easy 190 Reverse Bi...

    alphahans 評(píng)論0 收藏0
  • LeetCode 攻略 - 2019 年 7 月下半月匯總(100 題攻略)

    摘要:月下半旬攻略道題,目前已攻略題。目前簡(jiǎn)單難度攻略已經(jīng)到題,所以后面會(huì)調(diào)整自己,在刷算法與數(shù)據(jù)結(jié)構(gòu)的同時(shí),攻略中等難度的題目。 Create by jsliang on 2019-07-30 16:15:37 Recently revised in 2019-07-30 17:04:20 7 月下半旬攻略 45 道題,目前已攻略 100 題。 一 目錄 不折騰的前端,和咸魚(yú)有什么區(qū)別...

    tain335 評(píng)論0 收藏0
  • 前端 | 每天一個(gè) LeetCode

    摘要:在線(xiàn)網(wǎng)站地址我的微信公眾號(hào)完整題目列表從年月日起,每天更新一題,順序從易到難,目前已更新個(gè)題。這是項(xiàng)目地址歡迎一起交流學(xué)習(xí)。 這篇文章記錄我練習(xí)的 LeetCode 題目,語(yǔ)言 JavaScript。 在線(xiàn)網(wǎng)站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公眾號(hào): showImg(htt...

    張漢慶 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Lsnsh

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<