序列化二叉树

2018-08-13  本文已影响0人  培根好吃
`/*`

`public class TreeNode {`

`int val = 0;`

`TreeNode left = null;`

`TreeNode right = null;`

`public TreeNode(int val) {`

`this.val = val;`

`}`

`}`

`*/`

`public` `class` `Solution {`

`public` `int` `index = -``1``;`

`String Serialize(TreeNode root) {`

`StringBuffer sb =` `new` `StringBuffer();`

`if``(root ==` `null``){`

`sb.append(``"#,"``);`

`return` `sb.toString();`

`}`

`sb.append(root.val +` `","``);`

`sb.append(Serialize(root.left));`

`sb.append(Serialize(root.right));`

`return` `sb.toString();`

`}`

`TreeNode Deserialize(String str) {`

`index++;`

`int` `len = str.length();`

`if``(index >= len){`

`return` `null``;`

`}`

`String[] strr = str.split(``","``);`

`TreeNode node =` `null``;`

`if``(!strr[index].equals(``"#"``)){`

`node =` `new` `TreeNode(Integer.valueOf(strr[index]));`

`node.left = Deserialize(str);`

`node.right = Deserialize(str);`

`}`

`return` `node;`

`}`

`}`

上一篇下一篇

猜你喜欢

热点阅读