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.

 

仍然可以应用之前学到的

 Binary Tree

 leverl order traverse

哈哈

    public int maxDepth(TreeNode root) {

        //http://blog.csdn.net/linhuanmars/article/details/19659525

        if(root==null) return 0;

        int lev = 0, curNum=1, nextNum=0;

        LinkedList<TreeNode> q = new LinkedList<TreeNode>();

        q.add(root);

        while(!q.isEmpty()){

            curNum--;

            TreeNode n = q.poll();

            if(n.left!=null){

                q.add(n.left);

                nextNum++;

            }

            if(n.right!=null){

                q.add(n.right);

                nextNum++;

            }

            if(curNum==0){

                lev++;

                curNum = nextNum;

                nextNum=0;

            }

        }

        return lev;

    }

 

你可能感兴趣的:(binary)