摘要: Q:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 A: 递归: 非递归(感谢@hustZa): 利用DFS: 出栈的时候也是成对成对的 , 1.若都为空,继续; 2.一个为空,返回false; 3.不为空,比较当前值,值不等,返回fa 阅读全文
posted @ 2020-02-26 21:09 Shaw_喆宇 阅读(144) 评论(0) 推荐(0) 编辑
摘要: Q:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 T: 分析二叉树的下一个节点,一共有以下情况: 1.二叉树为空,则返回空; 2.节点右孩子存在,则设置一个指针从该节点的右孩子出发,一直沿着指向左子结点的指针找 阅读全文
posted @ 2020-02-26 20:41 Shaw_喆宇 阅读(96) 评论(0) 推荐(0) 编辑
摘要: Q:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1 2 3 3 4 4 5 处理后为 1 2 5 A:题目并不难,重要的是, 可以在head前添加一个头结点 ,防止head被删的情况。 Q:给出一个排好序的链表,删除链表中的所有重复出现 阅读全文
posted @ 2020-02-26 15:53 Shaw_喆宇 阅读(127) 评论(0) 推荐(0) 编辑
摘要: Q:给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 T:第一想法就是设置快慢两个指针。 1.思路:(感谢@却顾所来径) 设置快慢指针,都从链表头出发,快指针每次 走两步 ,慢指针一次 走一步 ,假如有环,一定相遇于环中某点(结论1)。接着让两个指针分别从相遇点和链表头出发 阅读全文
posted @ 2020-02-26 12:05 Shaw_喆宇 阅读(122) 评论(0) 推荐(0) 编辑