简介
题目链接:https://leetcode.cn/problems/binary-tree-inorder-traversal/description/
解决方式:二叉树 + 递归
这是作者学习众多大神的思路进行解题的步骤,很推荐大家解题的时候去看看题解里面大佬们的思路、想法!
递归
思路:中序遍历就是按照 左子树-根节点-右子树 的方式访问节点,我们只需要按照这个顺序递归就好了。
java
class Solution {
public List<Integer> inorderTraversal(TreeNode root) {
// 结果集合
ArrayList<Integer> list = new ArrayList();
// 递归
inorder(root, list);
return list;
}
private void inorder(TreeNode root, ArrayList<Integer> list){
// 边界处理
if (root == null) return;
// 中序遍历:左-根-右
inorder(root.left, list);
// 前序、后序遍历只需改变此处位置
list.add(root.val);
inorder(root.right, list);
}
}