两两交换链表中的节点
. - 力扣(LeetCode)
按照图中的箭头,顺直了就行
java">
class Solution {public ListNode swapPairs(ListNode head) {ListNode dumpnode=new ListNode(-1);dumpnode.next=head;ListNode cur=dumpnode;ListNode temp;ListNode firstnode;ListNode secondnode;while(cur.next!=null&&cur.next.next!=null){firstnode=cur.next;secondnode=cur.next.next;temp=cur.next.next.next;cur.next=secondnode;//此时修改了位置secondnode.next=firstnode;firstnode.next=temp;cur=firstnode;}return dumpnode.next;}
}
删除链表的倒数第N个节点
java">
class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {ListNode dumnode=new ListNode(0);dumnode.next=head;ListNode slow=dumnode;ListNode fast=dumnode;for(int i=0;i<=n;i++){fast=fast.next;}while(fast!=null){fast=fast.next;slow=slow.next;}if(slow.next!=null){slow.next=slow.next.next;}return dumnode.next;}
}