114-FlattenBinaryTreetoLinkedList
思路1-递归
通过观察我们可以发现原地咱开就是,把左子树变空,右子树要么接到左子树的右边要么接到当前节点的右边
递归实现如下:
bugfree 开心😄
1 | func flattenRe(node *TreeNode) *TreeNode{ |
思路二 非递归原地打开
处理完当前节点,把直接把指针知道当前节点的右节点上,由于当前节点所有子节点都被移到右节点了,所以不用盏就可以实现遍历
1 | func flatten2 (root *TreeNode){ |