摘要: 思路:之前遇到过层序打印二叉树的题,使用一个队列存储每一层的节点,当一个节点出队列时,他的左右孩子入队列。那么这个问题是在这个问题的基础上加了点限制,因此我们也可以在之前的思路上稍作修改。 首先用curLayer作为队列存储当前层的所有节点,把这一层标记成0或者1, 再用nextLayer层存储从c 阅读全文
posted @ 2019-08-12 21:48 Dolisun 阅读(748) 评论(0) 推荐(0) 编辑
摘要: ```python # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def isSymmetrical(self... 阅读全文
posted @ 2019-08-12 16:37 Dolisun 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 思路: 分4种情况: 1. 当该节点存在右子树时,那么下一个节点一定在右子树中产生 这种情况下又分成两种情况: (1)右子树不存在左分支,那么要找的下一个节点就是右子树的根节点。 (2)右子树中存在左分支,那么不停的寻找左分支的左分支就可以了。 2.当该节点不存在右子树时,那么下一个节点一定在该节点 阅读全文
posted @ 2019-08-12 15:12 Dolisun 阅读(587) 评论(0) 推荐(0) 编辑
摘要: 思路:因为重复的节点都要删除,因此需要标记重复开始前的上一个节点,又因为头结点有可能是重复的节点,为了操作方便,我们可以再链表前面设置一个空节点作为头结点,因此需要设置3个指针,第一个head指向头结点。第二个p用来标记重复节点的前面一个节点,第三个cur用来寻找重复的节点,一旦找到p就不移动了,c 阅读全文
posted @ 2019-08-12 09:03 Dolisun 阅读(1035) 评论(0) 推荐(0) 编辑