/**
*
* 给定一个二叉树的根节点 root ,返回它的 中序 遍历。
*
*/
//创建集合保存中序遍历的结果
List<Integer> list = new ArrayList<>();
/**
* @param root 根节点
* @return 返回遍历的结果
*/
public List<Integer> inorderTraversal(TreeNode root) {
//判断过根节点是否为空
if (root == null) {
return list;
}
//判断左子树是否为空,如果不为空,则递归遍历左子树
if (root.left != null) {
inorderTraversal(root.left);
}
//将当前节点加入集合
list.add(root.val);
//再判断当前节点的右子树是否为空,如果不为空,则递归遍历右子树
if (root.right != null) {
inorderTraversal(root.right);
}
return list;
}
原文:https://www.cnblogs.com/mx-info/p/14901968.html