zoukankan      html  css  js  c++  java
  • 113. Path Sum II

    Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given sum.

    Note: A leaf is a node with no children.

    Example:

    Given the below binary tree and sum = 22,

          5
         / 
        4   8
       /   / 
      11  13  4
     /      / 
    7    2  5   1

    Return:

    [
       [5,4,11,2],
       [5,8,4,5]
    ]

     -

     private List<IList<int>> list = new List<IList<int>>();
    
            public IList<IList<int>> PathSum(TreeNode root, int sum)
            {
                Chuck(root, sum, 0, string.Empty);
                return list;
            }
    
            private void Chuck(TreeNode node, int sum, int tempSum, string str)
            {
                if (node == null)
                {
                    return;
                }
    
                tempSum = tempSum + node.val;
                var left = node.left;
                var right = node.right;
                if (string.IsNullOrEmpty(str))
                {
                    str = $"{node.val}";
                }
                else
                {
                    str = $"{str},{node.val}";
                }
    
                if (left == null && right == null)
                {
                    if (tempSum == sum)
                    {
                        var tempList = str.Split(',').Select(x => Convert.ToInt32(x)).ToList();
                        list.Add(tempList);
                    }
                }
                else
                {
                    Chuck(left, sum, tempSum, str);
                    Chuck(right, sum, tempSum, str);
                }
            }
    Runtime: 288 ms, faster than 21.95% of C# online submissions for Path Sum II.
    Memory Usage: 34.2 MB, less than 13.98% of C# online submissions forPath Sum II.
  • 相关阅读:
    第2次实践作业
    第1次实践作业
    软工实践个人总结
    2019 SDN大作业
    第08组 Beta版本演示
    第八章学习小结
    第七章学习小结
    第六章学习小结
    第五章学习小结
    第4章学习小结
  • 原文地址:https://www.cnblogs.com/chucklu/p/10925533.html
Copyright © 2011-2022 走看看