当前位置:网站首页>513. Find Bottom Left Tree Value

513. Find Bottom Left Tree Value

2022-06-23 15:22:00 SUNNY_CHANGQI

The description of the porblem

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

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/find-bottom-left-tree-value

an example

在这里插入图片描述

The intuition for this

leverage the broadcast priority search to traversal all the elements in the TREE. In addition, traverse the sub-right tree, then the sub-left tree.

The codes

#include <queue>
#include <iostream>
#include <vector>
using namespace std;
struct TreeNode {
    
   int val;
    TreeNode *left;
    TreeNode *right;
    TreeNode() : val(0), left(nullptr), right(nullptr) {
    }
    TreeNode(int x) : val(x), left(nullptr), right(nullptr) {
    }
    TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {
    }
 };
class Solution {
    
public:
    int findBottomLeftValue(TreeNode* root) {
    
        vector<int> values;
        queue<TreeNode *> qu;
        qu.push(root);
        while (!qu.empty()) {
    
            TreeNode *tmp_node = qu.front();
            values.emplace_back(tmp_node->val);
            qu.pop();
            if (tmp_node->right) {
    
                qu.push(tmp_node->right);
            } 
            if (tmp_node->left) {
    
                qu.push(tmp_node->left);
            }
        }
        return *(values.end() - 1);
    }
};
int main()
{
    
    TreeNode *head = new TreeNode(2);
    head->left = new TreeNode(1);
    head->right = new TreeNode(3);
    Solution s;
    int res = s.findBottomLeftValue(head);
    std::cout << "The res:" << res;
    return 0;
}

The corresponding results

Starting program: /mnt/c/Users/sunny/Desktop/practices for cmake/test
The res:1[Inferior 1 (process 1143) exited normally]
原网站

版权声明
本文为[SUNNY_CHANGQI]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_38396940/article/details/125420282