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
  • 相关阅读:
    面试题
    ajax部分
    jquery部分
    javascript部分
    webpack入门
    jQuery 实现下载进度条
    webSocket入门
    Ajax实现下载进度条
    C# IDisposable接口
    nuget必备插件(待续)
  • 原文地址:https://www.cnblogs.com/mr-stn/p/8969517.html
Copyright © 2011-2022 走看看