leetcode — minimum-depth-of-binary-tree
2017-11-10 08:18
197 查看
/** * Source : https://oj.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. */ public class MinimumDepth { /** * 求出一棵二叉树的最小高度 * * @param root * @return */ public int minDepth (TreeNode root) { if (root == null) { return 0; } int left = minDepth(root.leftChild); int right = minDepth(root.rightChild); if (left > right) { return right + 1; } else { return left + 1; } } public TreeNode createTree (char[] treeArr) { TreeNode[] tree = new TreeNode[treeArr.length]; for (int i = 0; i < treeArr.length; i++) { if (treeArr[i] == '#') { tree[i] = null; continue; } tree[i] = new TreeNode(treeArr[i]-'0'); } int pos = 0; for (int i = 0; i < treeArr.length && pos < treeArr.length-1; i++) { if (tree[i] != null) { tree[i].leftChild = tree[++pos]; if (pos < treeArr.length-1) { tree[i].rightChild = tree[++pos]; } } } return tree[0]; } private class TreeNode { TreeNode leftChild; TreeNode rightChild; int value; public TreeNode(int value) { this.value = value; } public TreeNode() { } } public static void main(String[] args) { MinimumDepth minimumDepth = new MinimumDepth(); char[] arr0 = new char[]{'#'}; char[] arr1 = new char[]{'3','9','2','#','#','1','7'}; char[] arr2 = new char[]{'3','9','2','1','6','1','7','5'}; System.out.println(minimumDepth.minDepth(minimumDepth.createTree(arr0))); System.out.println(minimumDepth.minDepth(minimumDepth.createTree(arr1))); System.out.println(minimumDepth.minDepth(minimumDepth.createTree(arr2))); } }
相关文章推荐
- leetcode-111-Minimum Depth of Binary Tree
- Java [Leetcode 111]Minimum Depth of Binary Tree
- Minimum Depth of Binary Tree--LeetCode
- leetcode 111: Minimum Depth of Binary Tree
- LeetCode || Minimum Depth of Binary Tree
- [Leetcode]Minimum Depth of Binary Tree
- leetcode--minimum-depth-of-binary-tree
- Minimum Depth of Binary Tree 求二叉树最小高度/深度@LeetCode
- [leetcode][tree][dfs] Minimum Depth of Binary Tree
- Java for LeetCode 111 Minimum Depth of Binary Tree
- LeetCode(111) Minimum Depth of Binary Tree
- LeetCode: Minimum Depth of Binary Tree
- LeetCode-Easy刷题(25) Minimum Depth of Binary Tree
- leetcode | Minimum Depth of Binary Tree
- [leetcode] Minimum Depth of Binary Tree
- LeetCode:Minimum Depth of Binary Tree
- LeetCode 111 Minimum Depth of Binary Tree(DFS)
- leetcode -- Minimum Depth of Binary Tree -- 重点
- leetcode 111 minimum depth of binary tree
- LeetCode 111: Minimum Depth of Binary Tree