当前位置: 代码迷 >> 综合 >> 【LeetCode】24. Swap Nodes in Pairs(Java)
  详细解决方案

【LeetCode】24. Swap Nodes in Pairs(Java)

热度:30   发布时间:2023-12-06 07:11:11.0
题目描述:给定一个链表,每交换两个相邻节点并返回其头部。

您不能修改列表节点中的值,只能修改节点本身。

Example:
Given 1->2->3->4, you should return the list as 2->1->4->3.

public static ListNode swapPairs(ListNode head) {
    if ((head == null) || (head.next == null))return head;ListNode Next = head.next;head.next = swapPairs(head.next.next);Next.next = head;return Next;}
public static ListNode swapPairs2(ListNode head) {
    if (head == null)return null;ListNode helper = new ListNode(0);helper.next = head;ListNode pre = helper;ListNode cur = head;while (cur != null && cur.next != null) {
    ListNode next = cur.next.next;cur.next.next = cur;pre.next = cur.next;if (next != null && next.next != null)cur.next = next.next;elsecur.next = next;pre = cur;cur = next;}return helper.next;}
  相关解决方案