114.二叉树展开为链表

这道题卡我卡得比较久,看来还是对树不熟悉啊

如果仅仅是展开为链表,那倒好办,直接自己新起一个链表,然后前序遍历的时候加入链表就完事了,可是这是要求的是原地把他展开为链表。这就难住我了。。果然我还是挣扎了很久结果只有放弃去看题解了

其实就是把这棵树变成全部是右节点的树,那么思路如下:

1.将根节点的左子树都接到根节点的右边

2.将根节点原来的右子树接到左子树的最右节点

3.一直循环知道右节点为空

 

(我也是看的大佬的思路,我还是太弱鸡了。。。)

代码如下:

114.二叉树展开为链表