114. 二叉树展开为链表
https://leetcode.cn/problems/flatten-binary-tree-to-linked-list/
- 展开后的单链表应该同样使用
TreeNode,其中right子指针指向链表中下一个结点,而左子指针始终为null。- 展开后的单链表应该与二叉树 先序遍历 顺序相同。
示例 1:
输入:root = [1,2,5,3,4,null,6] 输出:[1,null,2,null,3,null,4,null,5,null,6]
抄个答案
- class Solution {
- public void flatten(TreeNode root) {
- List
list=new ArrayList(); - preOrder(root,list);
- int size=list.size();
- for(int i=1;i
- TreeNode pre=list.get(i-1), cur=list.get(i);
- pre.left=null;
- pre.right=cur;
- }
- }
-
- public void preOrder(TreeNode root, List
list) { - if(root!=null){
- list.add(root);
- preOrder(root.left, list);
- preOrder(root.right, list);
- }
- }
- }