Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Version 1: Divide Conquer
- public class Solution {
- public int maxDepth(TreeNode root) {
- if (root == null) {
- return 0;
- }
- int left = maxDepth(root.left);
- int right = maxDepth(root.right);
- return Math.max(left, right) + 1;
- }
- }
- // version 2: Traverse
- /**
- * Definition of TreeNode:
- * public class TreeNode {
- * public int val;
- * public TreeNode left, right;
- * public TreeNode(int val) {
- * this.val = val;
- * this.left = this.right = null;
- * }
- * }
- */
- public class Solution {
- /**
- * @param root: The root of binary tree.
- * @return: An integer.
- */
- private int depth;
- public int maxDepth(TreeNode root) {
- depth = 0;
- helper(root, 1);
- return depth;
- }
- private void helper(TreeNode node, int curtDepth) {
- if (node == null) {
- return;
- }
- if (curtDepth > depth) {
- depth = curtDepth;
- }
- helper(node.left, curtDepth + 1);
- helper(node.right, curtDepth + 1);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement