摘要: 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 思路一:使用队列类似于BFS,但是这里需要加控制转向 思路二:使用两个栈:stack1储存奇数层,stack2储存偶数层,交替放入。 阅读全文
posted @ 2017-08-30 21:11 泡面小王子 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 思路: (1) 若该节点存在右子树:则下一个节点为右子树最左子节点(如图节点 B ) (2) 若该节点不存在右子树:这时分两种情况 2.1 该节点为父节点的左子节点 阅读全文
posted @ 2017-08-30 15:57 泡面小王子 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 一个链表中包含环,请找出该链表的环的入口结点。 思路: 第一步,找环中相汇点。分别用slow,fast指向链表头部,slow每次走一步,fast每次走二步,直到slow==fast找到在环中的相汇点。 第二步,找环的入口。接上步,当slow==fast时,fast所经过节点数为2x,slow所经过节 阅读全文
posted @ 2017-08-30 13:57 泡面小王子 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的. 阅读全文
posted @ 2017-08-30 09:15 泡面小王子 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 数据结构及初始化: 代码如下: 阅读全文
posted @ 2017-08-30 09:14 泡面小王子 阅读(252) 评论(0) 推荐(0) 编辑