Binary Tree Serialization

5 篇文章 0 订阅

http://www.lintcode.com/en/problem/binary-tree-serialization/

https://leetcode.com/problems/serialize-and-deserialize-binary-tree/description/


题目:将二叉树序列化,将序列化的二叉树还原;

解答:按照二叉树序列化规则,如:

  3
 / \
9  20
  /  \
 15   7

序列化后为:{3,9,20,#,#,15,7}

需注意大括号、逗号


第一次犯错:sb.toString() 后面的括号忘记了;

第二次犯错:忘记考虑“{}”、“,”

第三次犯错:在解序列时,一位以上的数被拆分成多个数字,如“121”被拆分成“1”,“2”,“1”;

第四次犯错:在解序列时忘记考虑负数的情况


优化解答:使用

String[] vals = data.substring(1, data.length() - 1).split(",");

以避免一位以上数字被拆分成多个数字,并且无需考虑遇到“,”的情况,使得程序更加简单。

split(”,“)表示按照”,“为分割符,将字符串转化成字符数组。如:[2:3:4:5].split(":")  结果为:["2", "3", "4", "5"]



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值