首页 > 其他分享 >力扣---24. 两两交换链表中的节点

力扣---24. 两两交换链表中的节点

时间:2023-03-17 20:12:30浏览次数:48  
标签:24 --- ListNode val node next 链表 节点

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。

示例 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) {
        ListNode node = new ListNode(0);
        node.next = head;
        ListNode res = node;
        while (node.next != null && node.next.next != null) {
            ListNode start = node.next;
            ListNode end = node.next.next;
            node.next = end;
            start.next = end.next;
            end.next = start;
            node = start;
        }
        return res.next;
    }
}

 

标签:24,---,ListNode,val,node,next,链表,节点
From: https://www.cnblogs.com/allWu/p/17228012.html

相关文章

  • Vue.js 非单文件组件-VueComponent构造函数
    视频<!DOCTYPEhtml><html> <head> <metacharset="UTF-8"/> <title>VueComponent</title> <scripttype="text/javascript"src="../js/vue.js"></script> </h......
  • 10-计时器
    题目:请补全JavaScript代码,要求每次调用函数"closure"时会返回一个新计数器。每当调用某个计数器时会返回一个数字且该数字会累加1。注意:初次调用返回值为1每个计数器......
  • Vue.js 非单文件组件-组件的嵌套
    视频<!DOCTYPEhtml><html> <head> <metacharset="UTF-8"/> <title>组件的嵌套</title> <!--引入Vue--> <scripttype="text/javascript"src="../js/vue.j......
  • 11-列表动态渲染
    题目:请补全JavaScript代码,将预设代码中的"people"数组渲染在页面中。实现下面的列表:牛油1号20岁牛油2号21岁牛油3号19岁答案:`<script>varpeople......
  • Vue.js 非单文件组件-几个注意点
    视频<!DOCTYPEhtml><html> <head> <metacharset="UTF-8"/> <title>几个注意点</title> <scripttype="text/javascript"src="../js/vue.js"></script> </hea......
  • 关于AWS-ACM-自己导入型Imported-证书的更新替换
    在AWS中,ACM即AmazonCertificateManager的意思,是用来存储管理证书的一个服务ACM的证书有两种类型、一种是由AWS颁发的证书,另一种还可以将自己的证书导入进来,进行管理......
  • 09-新数组
    请补全JavaScript代码,该函数接受两个参数分别为数组、索引值,要求在不改变原数组的情况下返回删除了索引项的新数组。`<scripttype="text/javascript">cons......
  • 01-直角三角形
    答案<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"></head><body><divclass='triangle'></div><script>......
  • Jetson Nano初体验之实现人脸检测(初学者在跑jetson-inference之前最好先看看这篇文章
    另外,在看这篇文章之前,你应该已经装好了镜像:如果还没有装好,请查看这篇文章:​JetsonNano初体验之写入官方Ubuntu镜像​​回到刚刚的话题,我在尝试运行jetson-inference......
  • Monkey二次开发 -- Monkey jar包构建
      前面已经下载好了Android源码,可以在对应目录下构建二次开发后的monkeyjar包了;  当前环境:Ubuntu16.04,Andorid10源码。 1.初始化环境  cd进入android源码根目......