zoukankan      html  css  js  c++  java
  • leetcode 513. Find Bottom Left Tree Value

    Given a binary tree, find the leftmost value in the last row of the tree.

    Example 1:

    Input:
    
        2
       / 
      1   3
    
    Output:
    1
    

     

    Example 2: 

    Input:
    
            1
           / 
          2   3
         /   / 
        4   5   6
           /
          7
    
    Output:
    7
    

     

    Note: You may assume the tree (i.e., the given root node) is not NULL.

    分析:广搜,层序遍历,保存每层的第一个值,最后的即为所求值。

     1 /**
     2  * Definition for a binary tree node.
     3  * struct TreeNode {
     4  *     int val;
     5  *     TreeNode *left;
     6  *     TreeNode *right;
     7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     8  * };
     9  */
    10 class Solution {
    11 public:
    12     int findBottomLeftValue(TreeNode* root) {
    13         int result = root->val;
    14         queue<TreeNode *> q;
    15         q.push(root);
    16         TreeNode* temp;
    17         while (!q.empty()) {
    18             int size = q.size();
    19             result = q.front()->val;
    20             while (size--) {
    21                 temp = q.front();
    22                 q.pop();
    23                 if (temp->left != NULL) q.push(temp->left);
    24                 if (temp->right != NULL) q.push(temp->right);
    25             }
    26         }
    27         return result;
    28     }
    29 };
  • 相关阅读:
    IDEA调试快捷键
    视频预览
    文件上传:简单的demo
    Java 运行时优化
    Java 类加载
    Java StringTable
    Java 为什么不用Vector
    C++ 查找函数
    JVM 垃圾回收
    JVM 直接内存
  • 原文地址:https://www.cnblogs.com/qinduanyinghua/p/6413516.html
Copyright © 2011-2022 走看看