IT评测·应用市场-qidao123.com
标题:
二叉树_左叶子之和
[打印本页]
作者:
知者何南
时间:
2025-3-17 10:19
标题:
二叉树_左叶子之和
一、leetcode-404
左叶子之和
给定二叉树的根节点 root ,返回全部左叶子之和。
输入
:root = [3,9,20,null,null,15,7]
输出
:24
二、题解
1.引库
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <queue>
#include <stack>
#include <algorithm>
#include <string>
#include <map>
#include <set>
#include <vector>
using namespace std;
复制代码
2.代码
class Solution {
public:
int sumOfLeftLeaves(TreeNode* root) {
if(root==NULL) return 0;
if(root->left==NULL&&root->right==NULL) return 0;
//当左子树就是叶子节点就直接加和,否则递归
int leftsum=0;
if(root->left&&root->left->left==NULL&&root->left->right==NULL)
leftsum=root->left->val;
else leftsum=sumOfLeftLeaves(root->left);
int rightsum=sumOfLeftLeaves(root->right);
return leftsum+rightsum;
}
};
复制代码
迭代法
class Solution {
public:
int sumOfLeftLeaves(TreeNode* root) {
if(root==NULL) return 0;
stack<TreeNode *> st;
st.push(root);
int result=0;
while(!st.empty()){
TreeNode *node=st.top();
st.pop();
if(node->left&&node->left->left==NULL&&node->left->right==NULL)
result+=node->left->val;
if(node->left) st.push(node->left);
if(node->right) st.push(node->right);
}
return result;
}
};
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4