437. Path Sum III

You are given a binary tree in which each node contains an integer value.

Find the number of paths that sum to a given value.

The path does not need to start or end at the root or a leaf, but it must go downwards (traveling only from parent nodes to child nodes).

The tree has no more than 1,000 nodes and the values are in the range -1,000,000 to 1,000,000.

Example:

root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8

      10
     /  \
    5   -3
   / \    \
  3   2   11
 / \   \
3  -2   1

Return 3. The paths that sum to 8 are:

1.  5 -> 3
2.  5 -> 2 -> 1
3. -3 -> 11

 

复制代码
 private int _count;
        private int _target;

        public int PathSum(TreeNode root, int sum)
        {
            _target = sum;
            Iterate(root);
            return _count;
        }

        private void Iterate(TreeNode node)
        {

            Chuck(node, 0);
            if (node?.left == null && node?.right == null)
            {
                return;
            }
            Iterate(node.left);
            Iterate(node.right);
        }

        private void Chuck(TreeNode node, int sum)
        {
            if (node == null)
            {
                return;
            }

            sum = sum + node.val;
            if (sum == _target)
            {
                _count++;
            }
            if (node.left == null && node.right == null)
            {
                return;
            }
            Chuck(node.left, sum);
            Chuck(node.right, sum);
        }
复制代码

 

Runtime: 112 ms, faster than 75.10% of C# online submissions for Path Sum III.
Memory Usage: 24 MB, less than 56.18% of C# online submissions for Path Sum III.

 

作者:Chuck Lu    GitHub    
posted @   ChuckLu  阅读(201)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2017-05-26 wcf rest系列文章
2016-05-26 XmlSerializer
点击右上角即可分享
微信分享提示