首页 > 学院 > 开发设计 > 正文

[LeetCode] Maximum Depth of Binary Tree

2019-11-15 01:11:46
字体:
来源:转载
供稿:网友
[LeetCode] 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.

这道题我们借助stack和iteration就可以做出来了。

一个stack<TreeNode>用于node,另一个stack<Integer>用于depth的value。

代码如下。~

/** * 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 maxDepth(TreeNode root) {        Stack<TreeNode> tree=new Stack<TreeNode>();        Stack<Integer> value=new Stack<Integer>();        int max=0;        if(root==null){            return 0;        }        tree.push(root);        value.push(1);        while(!tree.isEmpty()){            TreeNode temp=tree.pop();            int val=value.pop();            max=Math.max(max,val);            if(temp.right!=null){                tree.push(temp.right);                value.push(val+1);            }            if(temp.left!=null){                tree.push(temp.left);                value.push(val+1);            }        }        return max;    }}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表