这是一道面试时的手撕代码:二叉树结点结构包含指向父结点指针,对其进行中序遍历(直接对遍历的结果进行输出),要求空间复杂度 O(1)
图片来源于https://blog.youkuaiyun.com/jcx517266098/article/details/79878697(前序遍历)
二叉树结构
class TreeNode{
int val;
TreeNode left;
TreeNode right;
TreeNode parent;
TreeNode(int x){
val = x;
}
}
二叉树的中序遍历
public static void inTree(TreeNode root){
if (root == null)
return;
//只有一个根结点
if (root.left == null && root.right == null){
System.out.println(root.val);
return;
}
TreeNode pre = root.parent;
while (true){