Flatten Binary Tree to Linked List

来源:互联网 发布:数组结束标志 编辑:程序博客网 时间:2024/05/21 19:30

Given a binary tree, flatten it to a linked list in-place.

For example,
Given

         1        / \       2   5      / \   \     3   4   6

The flattened tree should look like:
   1    \     2      \       3        \         4          \           5            \             6



实际是变成先序遍历的序列放到右子树


要不断保留本次的root节点,所以采取递归的方式,不然的话下次遍历之后就不能 

public class Solution {    TreeNode pre=null;    public void flatten(TreeNode root) {        if(root==null) return ;        flatten(root.right);        flatten(root.left);        root.right=pre;       root.left=null;       pre=root;    }}


0 0
原创粉丝点击