zoukankan      html  css  js  c++  java
  • leetcode 404. 左叶子之和

    计算给定二叉树的所有左叶子之和。

    示例:

        3
       / 
      9  20
        /  
       15   7
    
    在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24

    思路:
      层遍历一棵树,找到左叶子,求其和
     1 #include<queue>
     2 class Solution {
     3 public:
     4     int sumOfLeftLeaves(TreeNode* root) {
     5         queue<TreeNode*> q;
     6         q.push(root);
     7         int sum = 0;
     8         while(!q.empty()){
     9             TreeNode* temp = q.front();
    10             q.pop();
    11             if(temp == NULL) break;
    12             if(temp->left) {
    13                 q.push(temp->left);
    14                 if(temp->left->left == NULL && temp->left->right == NULL) sum += temp->left->val;
    15             }
    16             if(temp->right) q.push(temp->right);
    17         }
    18         return sum;
    19     }
    20 };
    有疑惑或者更好的解决方法的朋友,可以联系我,大家一起探讨。qq:1546431565
  • 相关阅读:
    实际项目管理-1
    arcengine 错误
    一些视频技术类网站
    winform 组件之dotnetbar10.5.3
    winform 弹框的组件
    一个好的开源网站
    写webservice 注意点
    ww
    js
    瀑布流
  • 原文地址:https://www.cnblogs.com/mr-stn/p/8969517.html
Copyright © 2011-2022 走看看