public Node convert(Node root){
        if(root == null){
            return null;
        }
        
        if(root.left == null && root.right == null){
            root.left = root;
            root.right = root;
            return root;
        }
        
        Node left = convert(root.left);
        Node right = convert(root.right);
    
        root.left = root;
        root.right = root;
        
        left = join(left,root);
        left = join(left,right);
        return left;
    }
http://cslibrary.stanford.edu/109/TreeListRecursion.html
Test cases
Null tree
src/com/interview/tree/BinaryTreeToCircularLinkList.java