404. Sum of Left Leaves 解题记录
2018-06-18 03:57:14来源:未知 阅读 ()
题目描述:
Find the sum of all left leaves in a given binary tree.
例子:
3 / \ 9 20 / \ 15 7 There are two left leaves in the binary tree, with values 9 and 15 respectively. Return 24.
解题思路:
用递推对二叉树进行遍历,判断是否为末枝的左子叶,然后将所有的末枝的左子叶相加(不要忘了考虑空指针的情况)
代码:
1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * struct TreeNode *left; 6 * struct TreeNode *right; 7 * }; 8 */ 9 int sumOfLeftLeaves(struct TreeNode* root) { 10 if (!root) 11 //输入为空指针时 12 { 13 return 0; 14 } 15 int leftLeavesSum = 0; 16 if (root->left) 17 { 18 if (!root->left->left && !root->left->right) 19 //结束的条件也就是末枝的左子叶时 20 { 21 leftLeavesSum += root->left->val; 22 } 23 else 24 { 25 leftLeavesSum += sumOfLeftLeaves(root->left); 26 } 27 } 28 if (root->right) 29 { 30 leftLeavesSum += sumOfLeftLeaves(root->right); 31 } 32 return leftLeavesSum; 33 }
解题收获:
对于C语言链表的使用还是有些不够熟练,还需要多加练习。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Leetcode刷题
下一篇:快速排序
- 二叉堆(2)LeftistHeap 2020-02-19
- Max Sum 2020-02-17
- bzoj3944 Sum 2019-12-25
- Ural 1248 Sequence Sum 题解 2019-08-16
- DP_Sumsets 2019-08-16
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash