24.8.23 LeetCode Hot100 linkedList

This commit is contained in:
Cool 2024-08-23 23:47:37 +08:00
parent c0bdbfe0db
commit 038cd12b51
2 changed files with 62 additions and 7 deletions

View File

@ -1,13 +1,14 @@
package com.cool;
/**
* DayNumber 1/2/3/4
* @author Cool
* @date 2024/8/19
* hard 1/2/3
*
*/
public class Template {
/**
* Date 2924/8/19
* DayNumber 1/2/3/4
* hard 1
* @param template
*/
public void test(int template){
}

View File

@ -0,0 +1,54 @@
package com.cool.hot100.linkedlist;
import org.junit.Test;
public class Num24 {
/**
* Date 2024/8/23
* DayNumber 1
* Hard 2
*
* @param head
* @return
*/
public ListNode swapPairs(ListNode head) {
ListNode node = head;
ListNode newHead = null;
ListNode pre = null;
while (node != null) {
if (node.next != null) {
ListNode next = node.next;
node.next = next.next;
next.next = node;
if (pre == null) {
pre = node;
} else {
pre.next = next;
pre = node;
}
node = node.next;
if (newHead == null) {
newHead = next;
}
} else {
break;
}
}
return newHead == null ? head : newHead;
}
@Test
public void test() {
ListNode node1 = new ListNode(2);
ListNode node2 = new ListNode(2, node1);
ListNode node3 = new ListNode(6, node2);
ListNode node4 = new ListNode(4, node3);
ListNode node5 = new ListNode(3, node4);
ListNode node6 = new ListNode(5, node5);
ListNode node7 = new ListNode(2, node6);
swapPairs(node7);
}
}