给定一个二叉树的 根节点 root
,请找出该二叉树的 最底层 最左边 节点的值。
假设二叉树中至少有一个节点。
思路:层次遍历
每次遍历一层时,记录下每层的最左侧元素,当结束层次遍历时,记录的就是所求结果。
public static int findBottomLeftValue(TreeNode root){int leftValue=0;Queue<TreeNode> queue=new LinkedList();queue.add(root);while (!queue.isEmpty()){int size=queue.size(); //记录每层的个数leftValue=queue.peek().val; //记录每层最左侧的值for(int i=0;i<size;i++){TreeNode node=queue.poll();if(node.left!=null) queue.add(node.left);if(node.right!=null) queue.add(node.right);}}return leftValue;}