[leetcode]Minimum Depth of Binary Tree

来源:互联网 发布:linux dir命令 编辑:程序博客网 时间:2024/06/05 04:29

https://leetcode.com/problems/minimum-depth-of-binary-tree/

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;}int left = minDepth(root.left) + 1;int right = minDepth(root.right) + 1;if (root.left == null || root.right == null) {return Math.max(left, right);}return Math.min(left, right);    }}

/** * 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) {int depth = 0;Queue<TreeNode> queue = new LinkedList<TreeNode>();queue.offer(root);while (!queue.isEmpty()) {++depth;Queue<TreeNode> newQueue = new LinkedList<TreeNode>();while (!queue.isEmpty()) {TreeNode t = queue.poll();if (t.left == null && t.right == null) {return depth;}if (t.left != null) {newQueue.add(t.left);}if (t.right != null) {newQueue.add(t.right);}}queue = newQueue;}}return 0;    }}


0 0
原创粉丝点击