zoukankan      html  css  js  c++  java
  • LeetCode: Sum Root to Leaf Numbers [129]

    【题目】

    Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number.

    An example is the root-to-leaf path 1->2->3 which represents the number 123.

    Find the total sum of all root-to-leaf numbers.

    For example,

        1
       / 
      2   3
    

    The root-to-leaf path 1->2 represents the number 12.
    The root-to-leaf path 1->3 represents the number 13.

    Return the sum = 12 + 13 = 25.


    【题意】

        给定一棵二叉树,节点值仅仅可能是[0-9]区间上的值,每一条从根到叶子的节点都能够看成一个整数。现要求把全部路径表示的整数相加,返回和


    【思路】

        DFS,找到左右的路径,实数化每条路径上组合数。将全部的路径上得到的整数求和。
        
        这里2有个问题:
        1. 假设某条路径太长,组合数已经超出了int的上界怎么办
        2. 假设终于的和超出了int的上界怎么办
        
        题目没有进一步的说明,我们默认所给的測试用例都保证不会越界。

        


    【代码】

    /**
     * Definition for binary tree
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        
        void dfs(int&result, int num, TreeNode*node){
            //result表示全部路径的组合
            //num表示根到node的父节点的组合数
            if(node){
                num=10*num+node->val;   //计算从根到当前节点的组合数
                if(node->left==NULL && node->right==NULL){
                    result+=num;    //已经找到一个条路径的组合数,累加到result上
                    return;
                }
                
                if(node->left) dfs(result, num, node->left);
                if(node->right) dfs(result, num, node->right);
            }
        }
    
    
        int sumNumbers(TreeNode *root){
            if(root==NULL)return NULL;
            int result=0;
            int num=0;
            dfs(result, num, root);
            return result;
        }
    };


  • 相关阅读:
    常用Linux命令的基本使用(不定时补充)
    利用油猴插件实现全网VIP视频免费看
    电脑开机显示被调用的对象已与其他客户端断开连接
    常见DOS命令
    Text函数对转换日期,调整数值,条件判断的应用技巧
    Excel常用函数
    Power BI(天猫双十一美妆销售数据分析)
    Power BI新建列与关系函数(三)
    Python_Bug
    Docker 初窥(有一大坑,注意根目录磁盘爆满问题,易导致开机黑屏)
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5135445.html
Copyright © 2011-2022 走看看