查看网站被恶意镜像,重庆做网站建设,百度免费域名注册网站,如何建立一个网站平台网站题目#xff1a;给定二叉树的根节点 root #xff0c;返回所有左叶子之和。
思路#xff1a;一个节点为「左叶子」节点#xff0c;当且仅当它是某个节点的左子节点#xff0c;并且它是一个叶子结点。因此我们可以考虑对整 node 时#xff0c;如果它的左子节点是一个叶子…题目给定二叉树的根节点 root 返回所有左叶子之和。
思路一个节点为「左叶子」节点当且仅当它是某个节点的左子节点并且它是一个叶子结点。因此我们可以考虑对整 node 时如果它的左子节点是一个叶子结点那么就将它的左子节点的值累加计入答案。
代码
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val val;* this.left left;* this.right right;* }* }*/
class Solution {public int sumOfLeftLeaves(TreeNode root) {return root null ? 0 : dfs(root);}private int dfs(TreeNode node) {int ans 0;if (node.left ! null) {ans isLeafNode(node.left) ? node.left.val : dfs(node.left);}if (node.right ! null !isLeafNode(node.right)) {ans dfs(node.right);}return ans;}private boolean isLeafNode(TreeNode node) {if (node.left null node.right null) {return true;}return false;}
}
性能
时间复杂度on
空间复杂度on
提示类似 求一个树的所有叶子只不过加了一些限制条件