链表小题目
作者:
黄靠谱 | 来源:发表于
2019-03-02 16:18 被阅读1次
- 如何判断两条单向链表是否相交,以及相交节点
- 同时遍历两个链表,求出长度差,然后长的链表走完 N次以后,短链表再开始走,每走一步,check一下是否节点相同
- 要派出掉 两个链表不相交、或者链表有闭环的情况
- 如何判断一个单向链表是否是回文链表
- 利用快慢遍历找到中间位置
- 把后半段链表做反转
- 根据指针同时从Header和Middler处比较到tail
- 如何按照节点的奇偶顺序重新串接
充分利用指针+快慢遍历实现
class Solution {
public ListNode oddEvenList(ListNode head) {
if (head == null || head.next == null) {
return head;
}
ListNode o = head;
ListNode p = head.next;
ListNode e = p;
while (o.next != null && e.next != null) {
o.next = e.next;
o = o.next;
e.next = o.next;
e = e.next;
}
o.next = p;
return head;
}
}
本文标题:链表小题目
本文链接:https://www.haomeiwen.com/subject/dozeuqtx.html
网友评论