[LeetCode 111]Minimum Depth of Binary Tree

题目链接:minimum-depth-of-binary-tree

import java.util.LinkedList;/** * 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. * */public class MinimumDepthOfBinaryTree {public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode(int x) {val = x;}}//41 / 41 test cases passed.//Status: Accepted//Runtime: 264 ms//Submitted: 0 minutes ago//递归版public int minDepth(TreeNode root) {if(root == null) return 0;if(root.left == null && root.right == null) return 1;else if(root.left != null && root.right == null) return minDepth(root.left) + 1;else if(root.left == null && root.right != null) return minDepth(root.right) + 1;else return Math.min(minDepth(root.left), minDepth(root.right)) + 1;}// 41 / 41 test cases passed.// Status: Accepted// Runtime: 266 ms// Submitted: 0 minutes ago//遍历版 层次遍历法public int minDepth1(TreeNode root) {if(root == null) return 0;LinkedList<TreeNode> queue = new LinkedList<TreeNode>();queue.add(root);int level = 0;while(!queue.isEmpty()) {int levelLen = queue.size();level ++;for (int i = 0; i < levelLen; i++) {TreeNode node = queue.removeFirst();if(node.left == null && node.right == null) return level;if(node.left != null) queue.add(node.left);if(node.right != null) queue.add(node.right);}}return level;}public static void main(String[] args) {// TODO Auto-generated method stub}}

,的这一半更多地赢取上帝掌握的那一半。

[LeetCode 111]Minimum Depth of Binary Tree

相关文章:

你感兴趣的文章:

标签云: