• 513. Find Bottom Left Tree Value


    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
    
    • 1
    • 2
    • 3
    • 4

    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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    The corresponding results

    Starting program: /mnt/c/Users/sunny/Desktop/practices for cmake/test
    The res:1[Inferior 1 (process 1143) exited normally]
    
    • 1
    • 2
  • 相关阅读:
    js JSON.stringify() 的简单了解之函数的转换
    Prism 入门03,模块化介绍使用
    Jmeter 循环和条件控制器
    近期的一些小总结(关于TCP/IP协议相关的)
    linux下的PPPOE设置
    vue笔记(二)
    使用Github Copilot生成单元测试并执行
    Java的XWPFTemplate word生成列表
    驱动开发:文件微过滤驱动入门
    炫云云渲染3ds max效果图渲染教程
  • 原文地址:https://blog.csdn.net/weixin_38396940/article/details/125420282