二叉树遍历是指按照特定顺序访问二叉树中每一个结点的过程。二叉树遍历方式可以分为三种:前序遍历、中序遍历和后序遍历。通常我们使用递归来实现二叉树的遍历。
以下是示例代码:
// Definition for a binary tree node. class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } }
class Solution {
// 前序遍历
public List
// 中序遍历
public List inorderTraversal(TreeNode root) {
List result = new ArrayList<>();
if (root == null) return result;
result.addAll(inorderTraversal(root.left));
result.add(root.val);
result.addAll(inorderTraversal(root.right));
return result;
}
// 后序遍历
public List postorderTraversal(TreeNode root) {
List result = new ArrayList<>();
if (root == null) return result;
result.addAll(postorderTraversal(root.left));
result.addAll(postorderTraversal(root.right));
result.add(root.val);
return result;
}
}
下一篇:遍历二叉树的广度优先搜索算法