【Leetcode】513. Find Bottom Left Tree Value

題目地址:

https://leetcode.com/problems/find-bottom-left-tree-value/

給定一棵二叉樹,求其最深一層的節點中最左邊的葉子的值。直接用BFS做層序遍歷即可,每層從右向左遍歷,遍歷到的最後一個數即爲所求。代碼如下:

import java.util.LinkedList;
import java.util.Queue;

public class Solution {
    public int findBottomLeftValue(TreeNode root) {
        Queue<TreeNode> queue = new LinkedList<>();
        queue.offer(root);
        int res = 0;
        while (!queue.isEmpty()) {
            TreeNode x = queue.poll();
            res = x.val;
            if (x.right != null) {
                queue.offer(x.right);
            }
            if (x.left != null) {
                queue.offer(x.left);
            }
        }
        
        return res;
    }
}

class TreeNode {
    int val;
    TreeNode left, right;
    
    TreeNode(int x) {
        val = x;
    }
}

時空複雜度O(n)O(n)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章