LeetCode: 剑指 Offer 55 - I. 二叉树的深度
计算树的深度 >> 层序遍历( bfs )
树其他的遍历方式 >> dfs
层序遍历代码
public int maxDepth(TreeNode root) { if(root == null) return 0; // 队列 Queue<TreeNode> queue = new LinkedList<>(); queue.offer(root); int ans = 0; while (!queue.isEmpty()){ int size = queue.size(); for (int i = 0; i < size; i++) { TreeNode temp = ((LinkedList<TreeNode>) queue).pop(); if(temp.left != null) queue.offer(temp.left); if(temp.right != null) queue.offer(temp.right); } ans++; } return ans; }后序遍历代码
递归
class Solution { int ans = 0; public int maxDepth(TreeNode root) { if(root == null) return 0; ans = Math.max(maxDepth(root.left), maxDepth(root.right)) + 1; return ans; } }