The end goal is to copy a node from one tree to another tree. I want to visit each node in a binary tree and return a node instance after a number of traverses. I cannot seem to figure out how to return a specific node. Every time the node returned matches the id of the root node since I pass the root node to the function.
class node():
    def __init__(self):
        self.parent = None
        self.left = None
        self.right = None
    def randnode(self, target):
        global count
        if target == count:
            # print 'At target', '.'*25, target
            return self
        else:
            if self.left is not None:
                count += 1
                self.left.randnode(target)
            if self.right is not None:
                count += 1
                self.right.randnode(target)
 
     
    