**題目:**請實現兩個函式,分別用來序列化和反序列化二叉樹
**思路:**首先要理解序列化和反序列化的意思。
序列化:二叉樹被記錄成檔案的過程叫作二叉樹的序列化
反序列化:通過檔案內容重建原來的二叉樹過程叫做二叉樹反序列化
前序遍歷二叉樹,將結果存入vector向量中,當遇到節點wie空的時候,加入特殊符號『#』,並且退出遞迴。然後進行型別轉換。
然後進行反序列化,先進行型別轉換,然後遞迴構造二叉樹的節點。
/*
struct treenode
};*/
class solution
else
}char* serialize(treenode *root)
treenode* retree(int *&p)
treenode* root = new treenode(*p);
++p;
root->left = retree(p);
root->right = retree(p);
return root;
} treenode* deserialize(char *str)
};
牛客網 劍指office 棧的壓入 彈出序列
題目 輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否可能為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的乙個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。注意 這兩個序列的長度是相...
牛客網 劍指office 求1 2 2 n
題目 求1 2 3 n,要求不能使用乘除法 for while if else switch case等關鍵字及條件判斷語句 a?b c 解法一 思路 遞迴求和。class solution 解法二 思路 利用建構函式求解。我們先定義乙個類,接著建立n個該型別的例項,那麼這個建構函式將會被呼叫n次,...
牛客網 劍指office 字串的排列
題目 題目描述 輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。輸入描述 輸入乙個字串,長度不超過9 可能有字元重複 字元只包括大小寫字母。解法一 思路 python 的解法 同解法...