做外单阿里的网站,杭州seo网站建设,网站备案 企业,东莞人才市场现场招聘信息给定二叉树的根节点 root #xff0c;返回所有左叶子之和。 示例 1#xff1a; 输入: root [3,9,20,null,null,15,7]
输出: 24
解释: 在这个二叉树中#xff0c;有两个左叶子#xff0c;分别是 9 和 15#xff0c;所以返回 24示例 2: 输入: root [1]
输出: 0提示: 节点… 给定二叉树的根节点 root 返回所有左叶子之和。 示例 1 输入: root [3,9,20,null,null,15,7]
输出: 24
解释: 在这个二叉树中有两个左叶子分别是 9 和 15所以返回 24示例 2: 输入: root [1]
输出: 0提示: 节点数在 [1, 1000] 范围内-1000 Node.val 1000 递归
class Solution {
public:int sumOfLeftLeaves(TreeNode* root) {if(rootnullptr)return 0;int leftvalsumOfLeftLeaves(root-left);int rightvalsumOfLeftLeaves(root-right);if(root-left!nullptrroot-left-leftnullptrroot-left-rightnullptr)leftvalroot-left-val;int sumleftvalrightval;return sum;}
};
迭代
class Solution {
public:int sumOfLeftLeaves(TreeNode* root) {stackTreeNode * s;s.push(root);int res0;while(!s.empty()){TreeNode *curs.top();s.pop();if(cur-left!nullptrcur-left-leftnullptrcur-left-rightnullptr)rescur-left-val;if(cur-left)s.push(cur-left);if(cur-right)s.push(cur-right);}return res;}
};