双指针
剑指 Offer 18. 删除链表的节点
注意第一个节点就是要删除的节点的情况,以及没有目标节点的情况;
前者: if(head.val == val) return head.next;
后者:if(cur != null) pre.next = cur.next;
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
前后开工;
剑指 Offer 22. 链表中倒数第 k 个节点
因为是倒数的,所以可直接确定两指针间间距;
当先走的节点 == null 时 完成;
剑指 Offer 25. 合并两个排序的链表
直接三个指针一起;
剑指 Offer 52. 两个链表的第一个公共节点
while(a != b) {
a = a == null ? headB : a.next;//否则直接回到下一头
b = b == null ? headA : b.next;
}
注意直接回到另一个链表的头
剑指 Offer 57. 和为 s 的两个数字
前后开工数组有序
剑指 Offer 58 - I. 翻转单词顺序
if(ss[i] == "") continue;//注意不是" "不是空格
标签:复习,Offer,next,链表,今日,null,节点,指针 From: https://www.cnblogs.com/xtag/p/16804637.html