摘要: 先来说一下什么是序列化二叉树,就是把二叉树转换成一串序列。反序列化就是将一串序列构造成一个二叉树。 这个题我也不是很懂,为什么要这样写 1 class Solution { 2 public: 3 vector<int> aux; 4 void treetovec(TreeNode * root) 阅读全文
posted @ 2019-07-29 18:45 妮妮熊 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 有了上一个之字形打印二叉树,这个题就比较简单了。 首先分析这道题的结构,一行一行的输出。 1.如果第一行顺序存储,也就是先存左边在存右边。那么输出的时候也要同样的先左边后右边的顺序。这就是先进先出,所以用队列。 2.如果不顺序存,使用栈来存。第二行就先右边在左边,必须这样第一行输出的时候才可以先左后 阅读全文
posted @ 2019-07-27 11:35 妮妮熊 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 做这个题,选对数据结构很重要。 之字形打印,说明单双数行的输出顺序不一致,因此需要用两个栈。一行的数据放在其中一个栈中,如果栈空了说明此行全部输出,因此换下一个栈。 1 class Solution { 2 public: 3 vector<vector<int> > Print(TreeNode* 阅读全文
posted @ 2019-07-27 10:43 妮妮熊 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 这个题的主要思路是: 用二叉树的左子树的右子树和右子树的左子树比较,再用左子树的左子树和右子树的右子树比较。(好像有点绕,但其实就是对称的思想) 剑指offer的说法是用树的前序遍历的两个方法,前序遍历应该是:根-》左-》右。但是我们用另一种前序遍历:根-》右-》左。如果这两个序列一样就判断它是对称 阅读全文
posted @ 2019-07-27 08:41 妮妮熊 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 寻找中序遍历中的给定结点的下一个结点,可以分为以下几种情况。 1.该节点有右子树,其右子树没有左结点,那么下一个一定就是右子树 2.该节点有右子树,其右子树有左结点,那么下一个一定就是右子树的左结点 3.没有右子树,有父节点,该节点是父节点的左子树,那么下一个就是它的父节点 4.没有右子树,有父节点 阅读全文
posted @ 2019-07-26 16:07 妮妮熊 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 思路: 1.用两个指针,第一个存之前的结点,第二种存当前结点。 2.每次判断当前结点与当前结点的下一个结点的值是否相同,如果相同就去调用函数寻找下一个与当前结点的值不同的几点,然后将前一个结点与找到的下一个结点连接起来。 如果不同则寻找一个:将当前结点的值付给前结点,当前结点移动到下一个结点。 注意 阅读全文
posted @ 2019-07-26 11:03 妮妮熊 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 这个题要找到链表中的环的入口,很自然的可以分为两个问题。首先是判断链表中是否有环,其次寻找到环的入口。 1.判断是否有环,这里有两个指针。一个一次走一步,一个一次走两步。用这两个指针在链表上走,如果存在环两个指针一定会相遇,并且相遇的点是在环内。 这个很重要,判断链表是否存在环。 2.寻找环的入口。 阅读全文
posted @ 2019-07-26 09:02 妮妮熊 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 前面有一道题跟这个很类似,第35题。有了那个的经验这个就很好做了。区别是这个需要做的是一个字符流的只出现一次的字符,也就是字符串的情况是动态变化的。 有两个数据结构,一个是string类型的用来存储当前的字符流,还有一个用数组表示的哈希表来存储各个字符出现的次数。找第一个只出现一次的字符就是找哈希表 阅读全文
posted @ 2019-07-25 14:38 妮妮熊 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 这个题难度并不大,主要考虑几个方面: 1.正负号位,只能出现一次,只能出现在数字的前面 2.小数点位,只能出现一次,必须出现在数字的终点 3.指数为e或E,可以出现在数字之前或者数字之后 4.称为数字的必要条件是必须包含数字(e和E算不算数组根据题目而定,此时假定不算) 有一个测试用例是“-.123 阅读全文
posted @ 2019-07-25 09:48 妮妮熊 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 做这个题目一定要思路清晰,各种情况都要考虑完善。 分为两种情况 1.其中有一个到结尾了 2.两个都没结尾,这里以它的下一位是否为*作为判断条件。 阅读全文
posted @ 2019-07-24 17:40 妮妮熊 阅读(162) 评论(0) 推荐(0) 编辑