2025年- H24-Lc132-94. 二叉树的中序遍历(树)---java版。
1.题目描述
2.思路
递归遍历:返回值,中序遍历的节点值列表 List。
(1)首先是一个中序遍历的结果函数,传入root参数,定义一个节点值列表result,然后递归调用中序遍历的函数
(2)中序遍历的函数:如果节点是null,则返回无。递归调用中序遍历的函数(左,结果数组),即左节点存入结果数组。然后结果数组,加入root的当前值。递归调用中序遍历的函数(右,结果数组)。
3.代码实现
import java.util.ArrayList;
import java.util.List;class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) { this.val = val; }TreeNode(int val, TreeNode left, TreeNode right) {this.val = val;this.left = left;this.right = right;}
}public class H104 {public List<Integer> inorderTraversal(TreeNode root){List<Integer> res=new ArrayList<>();inorder(root,res);return res;}private void inorder(TreeNode root,List<Integer> res){if(root==null){return;}inorder(root.left,res);res.add(root.val);inorder(root.right,res);}public static void main(String[] args){//根据有参构造函数:左根右构建树1-》null-》2-》3TreeNode node3=new TreeNode(3);TreeNode node2=new TreeNode(2,node3,null);TreeNode root=new TreeNode(1,null,node2);H104 test10=new H104();List<Integer> res=test10.inorderTraversal(root);System.out.println("中序遍历结果:"+res);}
}