114. 二叉树展开为链表

https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/solution/er-cha-shu-zhan-kai-wei-lian-biao-by-leetcode-solu/

官方题解方法三讲的很清楚

 

本题思路:

  1.  给定的树是深度优先的树,要把它往右边展开,而且不用额外空间,所以要展开树,

  2. 遍历每一个节点,如果其有左节点,则找其rightmost的节点,该节点一定是左节点中最大且最接近右节点的节点。

     rightmost.right = root.right ; 

  3. 将 root的右子树接在左子树的rightmost.right,再令root.right = root.left ; root.left = None

  4. root = root.right 

 

 

 

 

 

 

 

 

posted @ 2020-09-06 11:12  ChevisZhang  阅读(79)  评论(0编辑  收藏  举报