电脑购物网站模板,直接进入网站的代码,wordpress采集长腿蜘蛛,网页网页设计制作公司题目
给你一个链表#xff0c;两两交换其中相邻的节点#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题#xff08;即#xff0c;只能进行节点交换#xff09;。
示例 1#xff1a; 输入#xff1a;head [1,2,3,4]
输出#xff1a…题目
给你一个链表两两交换其中相邻的节点并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题即只能进行节点交换。
示例 1 输入head [1,2,3,4]
输出[2,1,4,3]示例 2
输入head []
输出[]示例 3
输入head [1]
输出[1]提示
链表中节点的数目在范围 [0, 100] 内0 Node.val 100 解答
源代码
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; }* }*/
class Solution {public ListNode swapPairs(ListNode head) {ListNode dummy new ListNode(0);ListNode temp dummy;temp.next head;ListNode first, second;while (temp.next ! null temp.next.next ! null) {first temp.next;second temp.next.next;first.next second.next;second.next first;temp.next second;temp temp.next.next;}return dummy.next;}
}
总结
本来我靠自己是写出来而且通过了的但是我是先把原链表拆分成两条链表然后交替连接起来看了题解后只觉得我的解法也太复杂了……于是学习了大佬们的思路两两交换节点。