【双指针】24. 两两交换链表中的节点

news/2024/10/31 1:29:28/

24. 两两交换链表中的节点

解题思路

  • dummyNode指向2
  • 2 指向1
  • 1 指向3
  • 然后移动指针 开始交换 3 4

在这里插入图片描述

/*** 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) {// 创建一个哑结点 指向headListNode dummyNode = new ListNode(0);dummyNode.next = head;ListNode cur =  dummyNode;// 当前指针指向哑结点  这里的cur是前驱指针// 创建临时节点ListNode temp;ListNode first;// 保存需要交换的节点的第一个节点ListNode second;// 保存需要交换的节点的第二个节点// cur一开始指向 1 2while(cur.next != null && cur.next.next != null){// 在开始交换之前 需要保存一下后面的节点temp = cur.next.next.next;// 也就是3节点// first保存1号 节点first = cur.next;// second保存2号节点  second = cur.next.next;// 然后cur指向2结点cur.next = second;// 2节点指向1节点second.next = first;// 1节点指向3 也就是指向tempfirst.next = temp;//  交换完毕之后  移动指针cur = first;}return dummyNode.next;}
}

http://www.ppmy.cn/news/836488.html

相关文章

mac android studio设置跟mac系统一样的快捷键

mac版的android studio 跟mac系统的快捷键不一样,主要修改了下面几组操作,为了跟mac系统快捷键相同 setting->Keymap 搜索bottom 修改3个快捷键: cmd↓ 设置让鼠标移动到屏幕最后面 shiftcmd↓ 选中从当前位置到屏幕最下面 option↓. 或者 end 滚动到屏幕最下方 // 因为默认…

Dell Fn键 F1-F12特殊功能键

关于 DELL电脑键盘 fn与F1-F12键盘电脑切换的问题。 开机进入启动画面,按F2进入bios 设置方法: 选中Advanced--------->function key behavior(功能键行为)-------------->选择“function key first”,F10保…

编程改变键盘灯的简易方法

一个笔记本,大概是驱动安装不太对,numlock无法按下,所以它的UIO JKL M,. 这几个键全被当成小键盘的按键了。所以每次使用的时候还得拖个usb键盘,好麻烦。 我试了试,果然用按下Fn键的方法按动numlock不可行。不过&#…

XP如何调节电脑开机之后数字键盘锁的灯是亮的?

egedit 注册表中 [HKEY_USERS//.DEFAULT//Control Panel//Keyboard] /"InitialKeyboardIndicators/"/"2/" 将InitialKeyboardIndicators改成2

开机自动开启键盘灯,键盘F12后2位按键为开启按键

需要在虚拟机xp系统启动时自动开启键盘灯 c代码如下: #include "stdafx.h" #include <Windows.h> void main() {keybd_event(145,0,0,0);keybd_event(145, 0, KEYEVENTF_KEYUP, 0); }编译后放入:开始--->程序---->启动 键盘码表: ESC键 VK_ESCAPE (27…

MySQL -- 联合索引 使用原则

最左前缀法则 如果索引了多列&#xff08;联合索引&#xff09;&#xff0c;要遵守最左前缀法则。最左前缀法则指的是查询从索引的最左列开始&#xff0c;并且不跳过索引中的列。如果跳跃某一列&#xff0c;索引将会部分失效(后面的字段索引失效)。 比如在一个 tb_user 表中&…

leetcode 287. 寻找重复数(java)

寻找重复数 leetcode 287. 寻找重复数题目描述解法一 Hash 表记录解法二 原地hash 上期经典 leetcode 287. 寻找重复数 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/find-the-duplicate-number 题目描述 给定一个包含…

在终端中使用 solarized 配色

#- 第一步. git clone git://github.com/seebi/dircolors-solarized.git cp ~/dircolors-solarized/dircolors.256dark ~/.dircolors eval dircolors .dircolors#- 第二步. (先检查 echo $TERM vim .barshrc export TERMxterm-256color#- 第三步. git clone git://github.com/s…