公司网站建设费,建站技术入门,做什么软件做网站效率最好,k歌里的相片是通过网站做的吗文章目录题目描述迭代法递归法参考文献题目描述
给你一个链表#xff0c;两两交换其中相邻的节点#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题#xff08;即#xff0c;只能进行节点交换#xff09;。
示例 1#xff1a;
输入两两交换其中相邻的节点并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题即只能进行节点交换。
示例 1
输入head [1,2,3,4] 输出[2,1,4,3] 示例 2
输入head [] 输出[] 示例 3
输入head [1] 输出[1]
提示
链表中节点的数目在范围 [0, 100] 内 0 Node.val 100
来源力扣LeetCode 链接https://leetcode.cn/problems/swap-nodes-in-pairs 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。
迭代法 /*** 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) {if(headnull||head.nextnull){return head;}ListNode resnew ListNode(0);res.nexthead;ListNode curres;while(cur.next!nullcur.next.next!null){ListNode nexthead.next;ListNode tmpnext.next;cur.nextnext;next.nexthead;head.nexttmp;curhead;headhead.next;}return res.next;}
}递归法 /*** 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) {if(headnull||nullhead.next){return head;}ListNode nexthead.next;head.nextswapPairs(head.next.next);next.nexthead;return next;}
}参考文献
点击跳转 https://www.bilibili.com/video/BV1xa411A76q?p6vd_source0b5b75024b90934f32850d5e16883515