⭐️⭐️⭐️
# 題目敘述
You are given the head
of a linked list, and an integer k
.
Return the head of the linked list after swapping the values of the kth
node from the beginning and the kth
node from the end (the list is 1-indexed).
# Example 1
Input: head = [1,2,3,4,5], k = 2
Output: [1,4,3,2,5]
# Example 2
Input: head = [7,9,6,6,7,8,3,0,9,5], k = 5
Output: [7,9,6,6,8,7,3,0,9,5]
# 解題思路
# Solution
// Definition for singly-linked list. | |
public class ListNode { | |
int val; | |
ListNode next; | |
ListNode() {} | |
ListNode(int val) { this.val = val; } | |
ListNode(int val, ListNode next) { this.val = val; this.next = next; } | |
} | |
class Solution { | |
public ListNode swapNodes(ListNode head, int k) { | |
ListNode start = head, end = head; | |
for (int i = 1; i < k; i++) { | |
start = start.next; | |
} | |
ListNode curr = start; | |
while (curr.next != null) { | |
curr = curr.next; | |
end = end.next; | |
} | |
int temp = start.val; | |
start.val = end.val; | |
end.val = temp; | |
return head; | |
} | |
} |
單字
** **
!! !!
片語 & 搭配詞
!! !!