449 序列化和反序列化二叉搜尋樹

2022-09-19 06:42:13 字數 1157 閱讀 8890

序列化是將資料結構或物件轉換為一系列位的過程,以便它可以儲存在檔案或記憶體緩衝區中,或通過網路連線鏈路傳輸,以便稍後在同乙個或另乙個計算機環境中重建。

設計乙個演算法來序列化和反序列化 二叉搜尋樹 。 對序列化/反序列化演算法的工作方式沒有限制。 您只需確保二叉搜尋樹可以序列化為字串,並且可以將該字串反序列化為最初的二叉搜尋樹。

編碼的字串應盡可能緊湊。

import j**a.util.arraydeque;

class codec

// encodes integer to bytes string

public string inttostring(int x)

return new string(bytes);

}// encodes a tree to a single string.

public string serialize(treenode root)

// decodes list to tree.

public treenode helper(integer lower, integer upper, arraydequenums)

int val = nums.getlast();

if (val < lower || val > upper)

nums.removelast();

treenode root = new treenode(val);

root.right = helper(val, upper, nums);

root.left = helper(lower, val, nums);

return root;

}// decodes bytes string to integer

public int stringtoint(string bytesstr)

return result;

}// decodes your encoded data to tree.

public treenode deserialize(string data)

return helper(integer.min_value, integer.max_value, nums);

}}class treenode

}

449 序列化和反序列化二叉搜尋樹

序列化是將資料結構或物件轉換為一系列位的過程,以便它可以儲存在檔案或記憶體緩衝區中,或通過網路連線鏈路傳輸,以便稍後在同乙個或另乙個計算機環境中重建。設計乙個演算法來序列化和反序列化二叉搜尋樹。對序列化 反序列化演算法的工作方式沒有限制。您只需確保二叉搜尋樹可以序列化為字串,並且可以將該字串反序列化...

449 序列化和反序列化二叉搜尋樹

序列化是將資料結構或物件轉換為一系列位的過程,以便它可以儲存在檔案或記憶體緩衝區中,或通過網路連線鏈路傳輸,以便稍後在同乙個或另乙個計算機環境中重建。設計乙個演算法來序列化和反序列化 二叉搜尋樹 對序列化 反序列化演算法的工作方式沒有限制。您只需確保二叉搜尋樹可以序列化為字串,並且可以將該字串反序列...

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

官方題解 public stringbuilder postorder treenode root,stringbuilder sb encodes a tree to a single string.public string serialize treenode root public tree...