- 博客(2)
- 收藏
- 关注
原创 序列化二叉树
题目描述请实现两个函数,分别用来序列化和反序列化二叉树思路:一开始根本没明白序列化和反序列化是什么意思,后来才明白,序列化就是把一个二叉树变成一个字节流,用‘,’分隔结点,用‘#’代替空结点,反序列化就是把这个字节流重新生成一个二叉树。用前序遍历就可以了。还有人用双向队列的,个人觉得挺巧妙的,避免了递归,把代码也贴到下面了。代码:/*struct TreeNode { i...
2018-08-11 11:22:37 780
原创 把二叉树打印成多行
题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。思路:要么就用两个栈,第一个栈存一层,然后依次取出第一个栈的结点,把他们的左右子结点放到第二个栈里,直到第一个栈清空,然后交替。第二种思路就是用一个队列,然后记录每一层的结点数就可以了。我用的就是第二种思路。代码:/*struct TreeNode { int val; struct Tree...
2018-08-10 21:09:45 206
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人