LeetCode|Minimum Depth of Binary Tree-java

来源:互联网 发布:手机蓝牙软件 编辑:程序博客网 时间:2024/06/05 17:23

题目:

Given a binary tree, find its minimum depth.

The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.

思路:

题目大意就是求出二叉树的最短路径,这是典型的层次遍历,主要运用到了队列

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    public int minDepth(TreeNode root) {        if (root == null) {return 0;}LinkedList<TreeNode> queue = new LinkedList<TreeNode>();LinkedList<Integer> queueCount = new LinkedList<Integer>();queue.add(root);queueCount.add(1);while (!queue.isEmpty()) {TreeNode node = queue.remove();int count = queueCount.remove();if (node.left == null && node.right == null) {return count;}if (node.left != null) {queue.add(node.left);queueCount.add(count + 1);}if (node.right != null) {queue.add(node.right);queueCount.add(count + 1);}}return 0;    }}




0 0