美文网首页
2022-06-22 「513. 找树左下角的值」

2022-06-22 「513. 找树左下角的值」

作者: 柠香萌萌鸡 | 来源:发表于2022-06-22 15:34 被阅读0次

    今日中等题:https://leetcode.cn/problems/find-bottom-left-tree-value/

    终于走出舒适区开始做树相关的题目了,开始因为对概念不熟悉看完题目是懵逼的,但是再看题解的深度优先和广度优先的算法后,突然发现不过如此hhhh,用双向队列就能解决的问题。

    queue和deque的区别

    具体对比差异详见:https://blog.csdn.net/SeekN/article/details/114231727

    贴下代码:

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode() {}
     *     TreeNode(int val) { this.val = val; }
     *     TreeNode(int val, TreeNode left, TreeNode right) {
     *         this.val = val;
     *         this.left = left;
     *         this.right = right;
     *     }
     * }
     */
    class Solution {
        public int findBottomLeftValue(TreeNode root) {
            Deque<TreeNode> deque = new ArrayDeque<TreeNode>();
            deque.offer(root);
            int ans = 0;
            while (!deque.isEmpty()) {
                TreeNode cur = deque.poll();
                
                // 从右到左,确保左节点是最后一个
                if (cur.right != null) {
                    deque.offer(cur.right);
                }
                if (cur.left != null) {
                    deque.offer(cur.left);
                }
                ans = cur.val;
            }
            return ans;
        }
    }
    

    相关文章

      网友评论

          本文标题:2022-06-22 「513. 找树左下角的值」

          本文链接:https://www.haomeiwen.com/subject/omluvrtx.html