题目链接
给你二叉树的根结点 root ,请你将它展开为一个单链表:
- 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。
- 展开后的单链表应该与二叉树 先序遍历 顺序相同。
一边遍历一边修改树
维护一个指针,表示上一次的节点, 从栈中获取到节点后,如果上一次节点不为null,则将其左节点置为null,右节点置为当前访问节点 如果左右节点不为null,则将它们放入栈中,但是要注意需要先放右节点
|
|
先中序遍历再构建结果
|
|