LeetCode----两两交换链表中的节点
2024-08-29 04:10:32
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。
示例:
给定1->2->3->4
, 你应该返回2->1->4->3
.
说明:
- 你的算法只能使用常数的额外空间。
- 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
代码如下:
public class LeetCode24 {
public static class ListNode {
int val;
ListNode next; ListNode(int x) {
val = x;
}
} public ListNode swapPairs(ListNode head) {
if (head == null || head.next == null) {
return head;
}
ListNode cur = head;
ListNode next = head;
ListNode nextN = head;
ListNode root = head.next;
ListNode prev = null;
while (cur != null) {
if (cur.next == null) {
prev.next = cur;
break;
}
next = cur.next;
nextN = next.next;
next.next = cur;
cur.next = null;
if (prev != null) {
prev.next = next;
}
prev = cur;
cur = nextN;
} return root;
}
}
最新文章
- 【MSP是什么】MSP认证之项目集与项目群的关系和区别
- linux下cetos7无线网络设置办法
- iOS开发系列--Objective-C之KVC、KVO
- node-sass安装不成功的解决方案
- B2C电子商务基础系统架构解析(转载)
- MySQL学习(一)
- Ubuntu终端常用的快捷键
- 百度地图 判断marker是否在多边形内
- java io系列01之 ";目录";
- 根据N种规格中的M种规格值生成的全部规格组合的一种算法
- mysql-主从复制(一)
- PostgreSQL的 initdb 源代码分析之四
- 安装GNS3-0.8.6-all-in-one时language里没有选项
- php获取文章内容中的全部图片数组
- Android中实现滑动翻页—使用ViewFlipper(dp和px之间进行转换)
- C语言-switch语句
- 简单了解下OSI七层模型的作用以及常见网络协议含义和所用端口
- ES6 new syntax of Rest and Spread Operators
- eclipse 下载安装单元测试log4j的配置与搭建
- Hibernate_day04