西安cms模板建站,Wordpress的主机地址改变,wordpress插件访客能用吗,黄页网站大全免费前言 题目#xff1a; 404. 左叶子之和 文档#xff1a; 代码随想录——左叶子之和 编程语言#xff1a; C 解题状态#xff1a; 成功解答#xff01; 思路
注意左叶子节点的定义#xff1a;节点A的左孩子不为空#xff0c;且左孩子的左右孩子都为空#xff08;说明是…前言 题目 404. 左叶子之和 文档 代码随想录——左叶子之和 编程语言 C 解题状态 成功解答 思路
注意左叶子节点的定义节点A的左孩子不为空且左孩子的左右孩子都为空说明是叶子节点那么A节点的左孩子为左叶子节点。
代码
/*** 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:void sumLeft(TreeNode* node, int sum) {if (node NULL) return;TreeNode* leftNode node - left;TreeNode* rightNode node - right;if (leftNode) {if (leftNode - left NULL leftNode - right NULL) {sum leftNode - val;} else {sumLeft(leftNode, sum);}}if (rightNode) {sumLeft(rightNode, sum);}}int sumOfLeftLeaves(TreeNode* root) {int sum 0;sumLeft(root, sum);return sum;}
};