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