给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。

示例:

给定 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;
}
}

  

最新文章

  1. 【MSP是什么】MSP认证之项目集与项目群的关系和区别
  2. linux下cetos7无线网络设置办法
  3. iOS开发系列--Objective-C之KVC、KVO
  4. node-sass安装不成功的解决方案
  5. B2C电子商务基础系统架构解析(转载)
  6. MySQL学习(一)
  7. Ubuntu终端常用的快捷键
  8. 百度地图 判断marker是否在多边形内
  9. java io系列01之 "目录"
  10. 根据N种规格中的M种规格值生成的全部规格组合的一种算法
  11. mysql-主从复制(一)
  12. PostgreSQL的 initdb 源代码分析之四
  13. 安装GNS3-0.8.6-all-in-one时language里没有选项
  14. php获取文章内容中的全部图片数组
  15. Android中实现滑动翻页—使用ViewFlipper(dp和px之间进行转换)
  16. C语言-switch语句
  17. 简单了解下OSI七层模型的作用以及常见网络协议含义和所用端口
  18. ES6 new syntax of Rest and Spread Operators
  19. eclipse 下载安装单元测试log4j的配置与搭建
  20. Hibernate_day04

热门文章

  1. java中super总结
  2. java实现spark常用算子之groupbykey
  3. Maven之私服配置
  4. JQ向上取整 和向下取整 四舍五入
  5. windows下xgboost安装到python
  6. idea逆向生成hibernate工程
  7. php不重新编译,添加模块
  8. 小程序UI设计(3)-符合视觉规范-列表视觉规范
  9. 百度网盘,FTP上传异常、上传失败的解决办法
  10. dpkg -i libequinox-osgi-java_3.8.1-8_all.deb