binary tree preorder traversal