package com.interview.books.leetcodeoj;
import com.interview.leetcode.utils.TreeNode;
/**
* Created_By: stefanie
* Date: 14-12-26
* Time: 下午5:04
*/
public class LOJ114_FlattenBinaryTreeToLinkedList {
//based on pre-order traversal, and backup left and right child
TreeNode lastVisited;
public void flatten(TreeNode root) {
lastVisited = null;
flattenNode(root);
}
public void flattenNode(TreeNode node){
if(node == null) return;
TreeNode left = node.left;
TreeNode right = node.right;
if(lastVisited != null){
lastVisited.left = null;
lastVisited.right = node;
}
lastVisited = node;
flattenNode(left);
flattenNode(right);
}
}