leetcode-hot-100-114二叉树展开为链表
目录
【leetcode hot 100 114】二叉树展开为链表
解法一:执行一次先序遍历,把元素放入list中,然后放回root中
/**
- Definition for a binary tree node.
- public class TreeNode {
- int val;
- TreeNode left;
- TreeNode right;
- TreeNode() {}
- TreeNode(int val) { this.val = val; }
- TreeNode(int val, TreeNode left, TreeNode right) {
- this.val = val;
- this.left = left;
- this.right = right;
- }
- } */ class Solution { List list = new ArrayList<>(); public void flatten(TreeNode root) { // 执行一次先序遍历,把元素放入list中,然后放回root中 preorder(root); TreeNode pre = root; for(int i=1;i<list.size();i++){ pre.right = list.get(i); pre.left = null; pre = pre.right; } } public void preorder(TreeNode root){ if(root==null){ return; } list.add(root); preorder(root.left); preorder(root.right); } }