java刷题--24两两交换链表中的节点
Posted Anrys
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java刷题--24两两交换链表中的节点相关的知识,希望对你有一定的参考价值。
题目
代码
class Solution {
public ListNode swapPairs(ListNode head) {
ListNode dummy = new ListNode(0,head);
ListNode pre = dummy;
while (head != null && head.next != null) {
ListNode sec = head.next;
head.next = sec.next;
sec.next = head;
pre.next = sec;
pre = head;
head = pre.next;
}
return dummy.next;
}
}
递归–不太懂,不过递归也没多大意义。
class Solution {
public ListNode swapPairs(ListNode head) {
if(head == null || head.next == null){
return head;
}
ListNode next = head.next;
head.next = swapPairs(next.next);
next.next = head;
return next;
}
}
结果
以上是关于java刷题--24两两交换链表中的节点的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 24. 两两交换链表中的节点 c++/java详细题解