First, the topic
Complete a function, enter a binary tree, and the function outputs its image.
Second, algorithm and implementation 1. Algorithm
An image of a binary tree, his Zuozi is the right subtree of the original binary tree, and his right subtree is the left subtree of the original binary tree, and so is his sub-tree. So, in order to get the image of a two-fork tree, we can exchange the left and right subtree of the two-fork tree for its subtree. The algorithm uses recursion to achieve the most consistent requirements.
2. Robustness Considerations
For binary tree root, the null pointer is processed.
3. Implement
1 voidMirrorrecursively (binarytreenode*Pnode)2 {3 if(Pnode = =NULL)4 return;5 6 if(Pnode->m_pleft = = NULL && Pnode->m_pright = =NULL)7 return;8 9binarytreenode* tmp = pnode->M_pleft;TenPnode->m_pleft = pnode->M_pright; OnePnode->m_pright =tmp; A -Mirrorrecursively (pnode->m_pleft); -Mirrorrecursively (pnode->m_pright); the}
2. Two image of a fork tree