网站开发的学习方法室内设计效果图qq群
news/
2025/9/22 20:14:36/
文章来源:
网站开发的学习方法,室内设计效果图qq群,4399谁做的网站,网站开发与兼容模式文章目录1. 题目2. DFS 解题1. 题目
给定一个有 N 个结点的二叉树的根结点 root#xff0c;树中的每个结点上都对应有 node.val 枚硬币#xff0c;并且总共有 N 枚硬币。
在一次移动中#xff0c;我们可以选择两个相邻的结点#xff0c;然后将一枚硬币从其中一个结点移动…
文章目录1. 题目2. DFS 解题1. 题目
给定一个有 N 个结点的二叉树的根结点 root树中的每个结点上都对应有 node.val 枚硬币并且总共有 N 枚硬币。
在一次移动中我们可以选择两个相邻的结点然后将一枚硬币从其中一个结点移动到另一个结点。(移动可以是从父结点到子结点或者从子结点移动到父结点。)。
返回使每个结点上只有一枚硬币所需的移动次数。 输入[3,0,0]
输出2
解释从树的根结点开始我们将一枚硬币移到它的左子结点上一枚硬币移到它的右子结点上。输入[0,3,0]
输出3
解释从根结点的左子结点开始我们将两枚硬币移到根结点上 [移动两次]。然后我们把一枚硬币从根结点移到右子结点上。输入[1,0,2]
输出2输入[1,0,0,null,3]
输出4提示
1 N 100
0 node.val N来源力扣LeetCode 链接https://leetcode-cn.com/problems/distribute-coins-in-binary-tree 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。
2. DFS 解题
对于一个叶子节点需要移动的次数是abs(val-1)对于一个节点的子树而言需要的金币移动次数等于abs(Σ(val_i-1)) class Solution {int move 0;
public:int distributeCoins(TreeNode* root) {dfs(root);return move;}int dfs(TreeNode* root){if(root NULL)return 0;int l dfs(root-left);int r dfs(root-right);move abs(l)abs(r);return lrroot-val-1;}
};
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910241.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!