public void flatten(TreeNode root) {
        helper(root);
    }
    public TreeNode helper(TreeNode root) {
        if (root == null) {
            return null;
        }
        TreeNode leftLast = helper(root.left);
        TreeNode rightLast = helper(root.right);

        if (leftLast != null) {
            leftLast.right = root.right;
            root.right = root.left;
            root.left = null;
        }

         if (rightLast != null) {
            return rightLast;
        }
        if (leftLast != null) {
           return leftLast;
        }

        return root;
    }

results matching ""

    No results matching ""