zoukankan      html  css  js  c++  java
  • LeetCode: Path Sum 解题报告

    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.

    SOLUTION 1:

    相当简单的题目,用递归解决。base case: 如果root是叶子,并且sum为root的值,返回true.
    否则在左右分别 找一下就好(调用递归),任何一边返回true都可以的。

    https://github.com/yuzhangcmu/LeetCode_algorithm/blob/master/tree/hasPathSum.java

     1 public boolean hasPathSum(TreeNode root, int sum) {
     2         if (root == null) {
     3             return false;
     4         }
     5 
     6         if (root.left == null && root.right == null && sum == root.val) {
     7             return true;
     8         }
     9 
    10         return hasPathSum(root.left, sum - root.val)
    11                 || hasPathSum(root.right, sum - root.val);
    12     }
    View Code
  • 相关阅读:
    .net软件开发工程师面试题
    html笔记
    好用软件
    谷歌插件
    vue笔记
    js笔记
    数组去重
    css全局样式
    css笔记
    vscod插件
  • 原文地址:https://www.cnblogs.com/yuzhangcmu/p/4172695.html
Copyright © 2011-2022 走看看