题解 | #二叉树的最大深度#

二叉树的最大深度

http://www.nowcoder.com/practice/8a2b2bf6c19b4f23a9bdb9b233eefa73

import java.util.*;

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 * }
 */

public class Solution {
    /**
     * 
     * @param root TreeNode类 
     * @return int整型
     */
    public int maxDepth (TreeNode root) {
		if (root == null) {
			return 0;
		}
		List<String> list = new ArrayList<>();
		dfs2(root, list , "");
        System.out.println(list);
		int maxDepth = list.stream().reduce((String a, String b) -> a.length() > b.length() ? a : b).get().length();
        return maxDepth;
	}

	private void dfs2(TreeNode node, List<String> list, String temp) {
		TreeNode left = node.left;
		TreeNode right = node.right;
		temp =  temp + 1;
		if (left != null) {
			dfs2(left, list, temp);
		}
		if (right != null) {
			dfs2(right, list, temp);
		}
		if(left == null && right == null) {
			list.add(temp);
		}
	}
}

全部评论

相关推荐

牛马人的牛马人生:太舒服了接接接
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务