297 二叉樹的序列化與反序列化

2021-10-22 02:54:48 字數 1602 閱讀 9494

二叉樹的序列化與反序列化

序列化是將乙個資料結構或者物件轉換為連續的位元位的操作,進而可以將轉換後的資料儲存在乙個檔案或者記憶體中,同時也可以通過網路傳輸到另乙個計算機環境,採取相反方式重構得到原資料。

請設計乙個演算法來實現二叉樹的序列化與反序列化。這裡不限定你的序列 / 反序列化演算法執行邏輯,你只需要保證乙個二叉樹可以被序列化為乙個字串並且將這個字串反序列化為原始的樹結構。

示例 1:

輸入:root = [1,2,3,null,null,4,5]

輸出:[1,2,3,null,null,4,5]

示例 2:

輸入:root =

輸出:示例 3:

輸入:root = [1]

輸出:[1]

示例 4:

輸入:root = [1,2]

輸出:[1,2]

樹中結點數在範圍 [0, 104] 內

-1000 <= node.val <= 1000

/**

* definition for a binary tree node.

* public class treenode

* }*/public

class

codec

public

void

serializesb

(treenode root)

sb.(root.val).(

",")

;serializesb

(root.left)

;serializesb

(root.right);}

// decodes your encoded data to tree.

public treenode deserialize

(string data)

public treenode deserializet

(string[

] strs)

string curs = strs[index++];

if(curs.

equals

("null"))

treenode root =

newtreenode

(integer.

valueof

(curs));

root.left =

deserializet

(strs)

;

root.right =

deserializet

(strs)

;return root;}}

// your codec object will be instantiated and called as such:

// codec ser = new codec();

// codec deser = new codec();

// treenode ans = deser.deserialize(ser.serialize(root));

297 二叉樹的序列化與反序列化

題目 序列化是將乙個資料結構或者物件轉換為連續的位元位的操作,進而可以將轉換後的資料儲存在乙個檔案或者記憶體中,同時也可以通過網路傳輸到另乙個計算機環境,採取相反方式重構得到原資料。請設計乙個演算法來實現二叉樹的序列化與反序列化。這裡不限定你的序列 反序列化演算法執行邏輯,你只需要保證乙個二叉樹可以...

297 二叉樹的序列化與反序列化

序列化是將乙個資料結構或者物件轉換為連續的位元位的操作,進而可以將轉換後的資料儲存在乙個檔案或者記憶體中,同時也可以通過網路傳輸到另乙個計算機環境,採取相反方式重構得到原資料。請設計乙個演算法來實現二叉樹的序列化與反序列化。這裡不限定你的序列 反序列化演算法執行邏輯,你只需要保證乙個二叉樹可以被序列...

297 二叉樹的序列化與反序列化(Python)

序列化是將乙個資料結構或者物件轉換為連續的位元位的操作,進而可以將轉換後的資料儲存在乙個檔案或者記憶體中,同時也可以通過網路傳輸到另乙個計算機環境,採取相反方式重構得到原資料。請設計乙個演算法來實現二叉樹的序列化與反序列化。這裡不限定你的序列 反序列化演算法執行邏輯,你只需要保證乙個二叉樹可以被序列...