牛客網 劍指office 序列化二叉樹

2021-09-24 13:41:26 字數 651 閱讀 9154

**題目:**請實現兩個函式,分別用來序列化和反序列化二叉樹

**思路:**首先要理解序列化和反序列化的意思。

序列化:二叉樹被記錄成檔案的過程叫作二叉樹的序列化

反序列化:通過檔案內容重建原來的二叉樹過程叫做二叉樹反序列化

前序遍歷二叉樹,將結果存入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 的解法 同解法...