public Node toSortedLinkList(Node root){
        if(root == null){
            return null;
        }
        
        Node left = toSortedLinkList(root.left);
        Node right = toSortedLinkList(root.right);
        
        root.left = null;
        root.right = null;
        root = merge(left,root);
        return merge(root,right);
    }
http://www.careercup.com/question?id=6241652616200192
Test cases:
0,1 or more nodes in the tree
src/com/interview/tree/BinaryTreeToSortedLinkList.java