LeetCode:Flatten Binary Tree to Linked List

来源:互联网 发布:manual是什么软件 编辑:程序博客网 时间:2024/05/09 08:30

递归实现比较简单


public class FlattenBinaryTreetoLinkedList {public void flatten(TreeNode root) {if (root == null) {return;}        recurrence(root);    }private TreeNode recurrence(TreeNode node) {if (node.left == null && node.right == null) {return node;}if (node.left != null && node.right != null) {TreeNode right = node.right;node.right = recurrence(node.left);node.left = null;TreeNode n = node;while (n.right != null) {n = n.right;}n.right = recurrence(right);} else  {if (node.left != null) {node.left = null;node.right = recurrence(node.left);} else {node.right = recurrence(node.right);}}return node;}}


原创粉丝点击