禁忌搜尋演算法實現圖染色
阿新 • • 發佈:2020-12-09
技術標籤:劍指offer演算法題記錄
題目描述
操作給定的二叉樹,將其變換為源二叉樹的映象。
解題思路:
第一步交換根節點的左右子樹,之後交換左右子樹自己的左右子樹,這樣的操作除了操作物件不同,但是操作步驟是一樣,可以採用遞迴來做,我們用遞迴方式來遞迴交換各個左右子樹。
//C++
class Solution {
public:
void Mirror(TreeNode *pRoot) {
if(pRoot){
struct TreeNode* tmp =pRoot->left;
pRoot->left= pRoot->right;
pRoot->right=tmp;
Mirror(pRoot->left);
Mirror(pRoot->right);
}
}
};
//java
public class Solution {
public void Mirror(TreeNode root) {
if(root == null){
return;
}
TreeNode temp = root. left;
root.left = root.right;
root.right = temp;
Mirror(root.left);
Mirror(root.right);
}
}