1022. 从根到叶的二进制数之和

Posted Debroon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1022. 从根到叶的二进制数之和相关的知识,希望对你有一定的参考价值。

1022. 从根到叶的二进制数之和

 


题目


 


算法设计:深度优先搜索

遍历二叉树,沿途不断累加即可。

  • 二进制转十进制:把二进制数按权展开、相加即得十进制数

class Solution 
public:
    long sum = 0;
    void dfs(TreeNode* &root, long val) 
        if(root == NULL)
            return;
        if(root->left == NULL && root->right == NULL)
            sum += (val*2 + root->val);      // 二进制转十进制:按权展开,再相加
            return;
        
        dfs(root->left, val*2+root->val);  // 二进制转十进制:按权展开,再相加
        dfs(root->right, val*2+root->val); // 二进制转十进制:按权展开,再相加
    
    
    int sumRootToLeaf(TreeNode* root) 
        dfs(root, 0);
        return sum;
    
;

以上是关于1022. 从根到叶的二进制数之和的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 1022.从根到叶的二进制数之和

LeetCode 1022. 从根到叶的二进制数之和

树1022. 从根到叶的二进制数之和

LeetCode 1022 从根到叶的二进制数之和[dfs] HERODING的LeetCode之路

DFS | 从根到叶的二进制数之和附递归展开图

给定一棵二叉树,找到所有从根到叶的路径