zoukankan      html  css  js  c++  java
  • 513. 找树左下角的值

    513. 找树左下角的值

    题目链接:513. 找树左下角的值(中等)

    给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。

    假设二叉树中至少有一个节点。

    示例 1:

       

    输入: root = [2,1,3]
    输出: 1

    示例 2:

    输入: [1,2,3,4,null,5,6,null,null,7]
    输出: 7

    题解

    思路

    该题采用层次遍历最简单。定义一个值,将每一层的第一个节点的值都赋值给它,这样最后得到的就是最底层最左边节点的值。

    代码(C++)

    //层次遍历
    class Solution {
    public:
        int findBottomLeftValue(TreeNode* root) {
            queue<TreeNode*> queNode;
            if (root != nullptr) queNode.push(root);
            int result = root->val;
            while (!queNode.empty()) {
                int size = queNode.size();
                TreeNode* node = queNode.front();
                result = node->val;
                for (int i = 0; i < size; i++) {
                    node = queNode.front();
                    queNode.pop();
                    if (node->left) queNode.push(node->left);
                    if (node->right) queNode.push(node->right);
                }
            }
            return result;
        }
    };

    代码(JavaScript)

    /**
     * @param {TreeNode} root
     * @return {number}
     */
    var findBottomLeftValue = function(root) {
        let queNode = [];
        if (root != null) queNode.push(root);
        var result = root.val;
        while (queNode.length != 0) {
            var size = queNode.length;
            for (var i = 0; i < size; i++) {
                node = queNode.shift();
                if (i == 0) result = node.val;
                if (node.left) queNode.push(node.left);
                if (node.right) queNode.push(node.right);
            }
        }
        return result;
    };

     

     

     

  • 相关阅读:
    [c++ 11x rvalue reference]
    Exception Cost
    How to set NoStepInto for VS debugging
    STL算法find_if和find
    [转载]The Biggest Changes in C++11 (and Why You Should Care)
    QT信号和槽
    读《构建之法》前三章有感
    复利计算器(3)——数据库
    《构建之法》——第四章
    操作系统命令行解释
  • 原文地址:https://www.cnblogs.com/wltree/p/15665656.html
Copyright © 2011-2022 走看看