前两题思路和解答一致
404.左叶子之和 (优先掌握递归)
我的代码思路是传入子节点状态,左节点还是有节点,如果是叶子并为左节点则加入,题解则是通过当前节点去判断左子节点是不是叶子节点,再依此遍历全树,但代码更简洁
class Solution {
public:void sol(TreeNode* root, bool isleft, int& sum){if(root->left==NULL && root->right==NULL && isleft) sum+=root->val;if(root->left) sol(root->left, true, sum);if(root->right) sol(root->right, false, sum);}int sumOfLeftLeaves(TreeNode* root) {int sum=0;if(root==NULL) return sum;sol(root,false,sum);return sum;}
};
222.完全二叉树的节点个数(优先掌握递归)
学习了完全二叉树的做法,递归三部曲中的终止条件为节点为空或者是一个满二叉树的时候,可以直接得到节点数量