二叉樹定義:
struct BinaryTreeNode{ int m_nValue; BinaryTreeNode*m_pLeft; BinaryTreeNode*m_PRight;};思路:輸出鏡像,其實也就是我們在遍歷的時候改變它的左右孩子。
void MirrorRecursively(BinaryTreeNode*pHead)//鏡像的根節(jié)點一致,所以不用傳二級指針{ if (pHead == NULL) { return ; } if (pHead->m_pLeft == NULL&&pHead->m_pRight == NULL) { return ; } //遞歸遍歷->交換左右子樹 //交換左右子樹 BinaryTreeNode* pTemp = pHead->m_pLeft; pHead->m_pLeft = pHead->m_pRight; pHead->m_pRight = pTemp; if (pHead->m_pLeft) { MirrorRecursively(pHead->m_pLeft); } if (pHead->m_pRight) { MirrorRecursively(pHead->m_pLeft); }}新聞熱點
疑難解答