leetcode404:左叶子:和
思路
左叶子的定义就是左节点不为空且没有左右孩子
可以采用递归来解
终止条件就是节点为空
单层递归条件是左节点不为空而且左右孩子的值为空
python语言
class Solution(object):
def sumOfLeftLeaves(self, root):
"""
:type root: TreeNode
:rtype: int
"""
if not root: #终止条件
return 0
midValues = 0
if root.left and not root.left.left and not root.left.right: #单层递归
midValues = root.left.val
return midValues self.sumOfLeftLeaves(root.left) self.sumOfLeftLeaves(root.right)
JS语言
var sumOfLeftLeaves = function(root) {
if(root===null){
return 0
}
let midvalues = 0
if (root.left && root.left.left===null && root.left.right===null){
midvalues = root.left.val
}
return midvalues sumOfLeftLeaves(root.left) sumOfLeftLeaves(root.right)
};
注意的是root节点为空是root===null
C语言
class Solution {
public:
int sumOfLeftLeaves(TreeNode* root) {
if(!root){
return 0;
}
int midvalue=0;
if(root->left && !root->left->left && !root->left->right){
midvalue = root->left->val;
}
return midvalue sumOfLeftLeaves(root->left) sumOfLeftLeaves(root->right);
}
};
注意在C语言中root->left表示它的子节点而不是点号
比较
其实思路明白了,语言只是实现的工具而已
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfibeif
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01