LeetCode 1022.从根到叶的二进制之和(简单)

一、题目

LeetCode 1022.从根到叶的二进制之和(简单)_第1张图片

LeetCode 1022.从根到叶的二进制之和(简单)_第2张图片 

二、思路(自己)

  •  对给出的根节点root进行后序遍历,如果是叶子节点返回对应的数字,否则返回它左子树和右子树对应的结果之和·
    public class Solution {
        public int sumRootToLeaf(TreeNode root) {
            return dfs(root,0);
        }
        public int dfs(TreeNode root,int val){
            if(root==null){
                return 0;
            }
            val=(val<<1)|root.val;
            if(root.left==null&&root.right==null){
                return val;
            }
            return dfs(root.left,val) +dfs(root.right,val);
        }
    }

    LeetCode 1022.从根到叶的二进制之和(简单)_第3张图片

     

你可能感兴趣的:(LeetCode,leetcode,算法,职场和发展)