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

你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

示例:

给定 1->2->3->4, 你应该返回 2->1->4->3.

l2       nextStart          l1        l2     nextStart

1->2->3->4->5->6      2->1->3-4>5->6

 1 /**
 2  * Definition for singly-linked list.
 3  * public class ListNode {
 4  *     int val;
 5  *     ListNode next;
 6  *     ListNode(int x) { val = x; }
 7  * }
 8  */
 9 class Solution {
10     public ListNode swapPairs(ListNode head) {
11         if(head == null || head.next == null) return head;
12         ListNode dummy = new ListNode(-1);
13         ListNode l1 = dummy;
14         ListNode l2 = head;
15         ListNode nextStart;
16         while(l2 != null && l2.next != null){
17             nextStart = l2.next.next;
18             l1.next = l2.next;
19             l2.next.next = l2;
20             l2.next = nextStart;
21             l1 = l2;
22             l2 = l2.next;
23
24         }
25         return dummy.next;
26
27
28     }
29 }

2019-04-20 16:44:49

转载于:https://www.cnblogs.com/NPC-assange/p/10741520.html

LeetCode--024--两两交换链表中的节点(java)相关推荐

  1. LeetCode 23合并K个升序链表24两两交换链表中的节点

    维护不易,点赞再看,感谢支持 合并K个升序链表 题目描述 给你一个链表数组,每个链表都已经按升序排列. 请你将所有链表合并到一个升序链表中,返回合并后的链表. 示例 1: 输入:lists = [[1 ...

  2. Leetcode(24)——两两交换链表中的节点

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

  3. Java实现 LeetCode 24 两两交换链表中的节点

    24. 两两交换链表中的节点 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. 示例: 给定 1->2->3-&g ...

  4. LeetCode 24:两两交换链表中的节点、1662. 检查两个字符串数组是否相等

    今天一道是单链表一道是String类的 一:LeetCode 24:两两交换链表中的节点 先来看一下题目信息 索引 题目意思就是把一个链表中的两两节点进行交换,题目给的例子是4个节点,是偶数个,两两节 ...

  5. LeetCode 24.两两交换链表中的节点 C语言

    题目 24.两两交换链表中的节点 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. 示例: 给定 1->2->3- ...

  6. 24. 两两交换链表中的节点-两两反转链表-LeetCode

    一.题目 二.思路 1.采用递归的方式 2.可以通过递归的方式实现两两交换链表中的节点. 递归的终止条件是链表中没有节点,或者链表中只有一个节点,此时无法进行交换. 如果链表中至少有两个节点,则在两两 ...

  7. Python实现两两交换链表中的节点

    题目描述 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. Leetcode原题地址:https://leetcode-cn. ...

  8. LeedCode 24:两两交换链表中的节点

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

  9. LeetCode-链表-24. 两两交换链表中的节点

    24. 两两交换链表中的节点 思路:使用一个头节点,然后用cur指针指向头 /*** Definition for singly-linked list.* struct ListNode {* in ...

最新文章

  1. LeetCode 653. Two Sum IV - Input is a BST--Python解法
  2. 【转】Xcode7.1环境下上架iOS App到AppStore 流程 -- 不错!!
  3. 如何使用pFuzz以多种方法验证Web应用程序防火墙的安全性
  4. 让Windows Live Messenger支持多账户登录
  5. DEPENDS工具和DUMPBIN工具使用
  6. 新加坡推出人工智能计划AI.SG 迎战人工智能和数据科学关键难题
  7. L_01 网络字节顺序
  8. BZOJ 1497: [NOI2006]最大获利(最大权闭合图)
  9. AI革命,通往超级人工智能之路
  10. 十年深圳人,是真的吗?
  11. Canvas实现太极图案并旋转
  12. python使用金山词霸的翻译功能(调试工具断点的使用)
  13. 从顺序数组1到10中查找数字 并打印下标
  14. 帮室友写的表白程序 Python打包成exe文件
  15. 相似对角化与二次型的标准化联系
  16. 人群计数:人群计数研究综述(2018.11)
  17. android中使用tmf框架插件化开发的问题
  18. 微信小程序打开红包的css_微信小程序 css使用技巧总结
  19. 比较好看的背景html,一个超炫的Canvas背景,做网页背景挺好看
  20. 河北计算机技术职业资格网,河北2017下半年软考成绩查询网址中国计算机技术职业资格网...

热门文章

  1. 德鲁克的17条思想精髓,读懂管理的本质
  2. 如何利用AI语义分析,做产品需求分析(1)
  3. 新闻行业中,自然语言理解技术该如何应用?
  4. Batch Normalization——加速深度神经网络收敛利器
  5. 柳传志:华为采取自主研发,联想通过并购实现品牌国际化
  6. 关于无人驾驶商业化现状的一个小研究
  7. 干货丨深度解析机器学习五大流派中主算法精髓
  8. 重磅丨2018年人工智能标准化白皮书
  9. Error(s) in loading state_dict
  10. 你真的了解计算生物学和AI for Science吗?