leetcode — maximum-depth-of-binary-tree
2017-11-09 00:48
363 查看
/** * * Source : https://oj.leetcode.com/problems/maximum-depth-of-binary-tree/ * * * * Given a binary tree, find its maximum depth. * * The maximum depth is the number of nodes along the longest path from the root node * down to the farthest leaf node. */ public class MaxDepthOfBinaryTree { /** * 求出二叉树树的深度,使用深度优先 * * @param root * @return */ public int maxDepth (TreeNode root) { if (root == null) { return 0; } int leftMax = 1; int rightMax = 1; leftMax += maxDepth(root.leftChild); rightMax += maxDepth(root.rightChild); return Math.max(leftMax, rightMax); } 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) { MaxDepthOfBinaryTree depthOfBinaryTree = new MaxDepthOfBinaryTree(); char[] arr = new char[]{'3','9','2','#','#','1','7'}; System.out.println(depthOfBinaryTree.maxDepth(depthOfBinaryTree.createTree(arr))); } }
相关文章推荐
- leetcode 104: Maximum Depth of Binary Tree
- [leetcode]Maximum Depth of Binary Tree
- LeetCode|Maximum Depth of Binary Tree
- 【LEETCODE】104-Maximum Depth of Binary Tree
- [LeetCode] Maximum Depth of Binary Tree
- leetcode104---Maximum Depth of Binary Tree
- LeetCode Maximum Depth of Binary Tree
- 和大神们学习每天一题(leetcode)-Maximum Depth of Binary Tree
- LeetCode----Maximum Depth of Binary Tree
- LeetCode:Maximum Depth of Binary Tree
- [leetcode] Maximum Depth of Binary Tree
- leetcode 第104题 Maximum Depth of Binary Tree
- LeetCode 104 Maximum Depth of Binary Tree JAVA
- [Leetcode]Maximum Depth of Binary Tree
- Maximum Depth of Binary Tree ---LeetCode
- LeetCode之Maximum Depth of Binary Tree
- LeetCode Maximum Depth of Binary Tree
- [Leetcode] Maximum depth of binary tree二叉树的最大深度
- leetcode之Maximum Depth of Binary Tree
- 【Leetcode】Maximum Depth of Binary Tree