今日复习

双指针

剑指 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;//注意不是" "不是空格

posted on 2022-10-18 23:30  xtdnn  阅读(24)  评论(0)    收藏  举报

导航