[劍指offer] 二叉樹的鏡像
阿新 • • 發佈:2017-11-27
left sub bject pre roo 遍歷 變換 pro tmp
題目描述
操作給定的二叉樹,將其變換為源二叉樹的鏡像。輸入描述:
二叉樹的鏡像定義:源二叉樹 8 / 6 10 / \ / 5 7 9 11 鏡像二叉樹 8 / 10 6 / \ / 11 9 7 5
前序遍歷交換兒子指針指向即可,要註意出現空的情況。
/* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { } };*/ class Solution { public: void Mirror(TreeNode *pRoot) { if (!pRoot || !(pRoot->left) && !(pRoot->right)) return; TreeNode* tmp = pRoot->left; pRoot->left = pRoot->right; pRoot->right = tmp; Mirror(pRoot->left); Mirror(pRoot->right); } };
[劍指offer] 二叉樹的鏡像