网站建设相关法律规定,住房建设局网站首页,高中作文网官网,高端网站建设公司新鸿儒LeetCode 404. 左叶子之和 | C语言版LeetCode 404. 左叶子之和题目描述解题思路思路一#xff1a;使用递归代码实现运行结果参考文章#xff1a;思路二#xff1a;减少遍历节点数代码实现运行结果参考文章#xff1a;LeetCode 404. 左叶子之和
题目描述
题目地址#xf…
LeetCode 404. 左叶子之和 | C语言版LeetCode 404. 左叶子之和题目描述解题思路思路一使用递归代码实现运行结果参考文章思路二减少遍历节点数代码实现运行结果参考文章LeetCode 404. 左叶子之和
题目描述
题目地址404. 左叶子之和 给定二叉树的根节点 root 返回所有左叶子之和。 解题思路
思路一使用递归
代码实现
C
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int sumOfLeftLeaves(TreeNode* root) {//返回所有左叶子之和:当前节点是不是左叶子是无法判断的必须要通过节点的父节点来判断其左孩子是不是左叶子if(rootNULL) return 0;//没有左子树和右子树if(root-leftNULL root-rightNULL) return 0;//当前节点左子树的所有左叶子之和int leftValuesumOfLeftLeaves(root-left);//左叶子节点if(root-left !root-left-left !root-left-right){leftValueroot-left-val;}//当前节点右子树的左叶子之和int rightValuesumOfLeftLeaves(root-right);//整个树的左叶子之和int sumleftValuerightValue;return sum;}
};运行结果 参考文章
https://programmercarl.com/0404.%E5%B7%A6%E5%8F%B6%E5%AD%90%E4%B9%8B%E5%92%8C.html#%E9%80%92%E5%BD%92%E6%B3%95
思路二减少遍历节点数
代码实现
C
在这里插入代码片运行结果
参考文章