第三题是递归,递归函数的输入是根节点,递归的返回值是当前节点的左右子树权值和: left1 = dfs(root.left) right1 = dfs(root.right) 如果left1更大,那么root.left.val=1,root.right.val=(left1+1-right1) 如果right1更大,那么root.right.val=1,root.left.val=(right1+1-left1) 如果两者相等,那么root.right.val=1,root.left.val=1 递归返回return root.left.val+left1+root.right.val+right1 最终返回 (dfs(root)+1)%(10**9+7)
点赞 评论
牛客网
牛客企业服务