給你鍊錶的頭節點 head 和乙個整數 k 。
交換 鍊錶正數第 k 個節點和倒數第 k 個節點的值後,返回鍊錶的頭節點(鍊錶 從 1 開始索引)。
示例 1:
輸入:head = [1,2,3,4,5], k = 2
輸出:[1,4,3,2,5]
示例 2:
輸入:head = [7,9,6,6,7,8,3,0,9,5], k = 5
輸出:[7,9,6,6,8,7,3,0,9,5]
示例 3:
輸入:head = [1], k = 1
輸出:[1]
示例 4:
輸入:head = [1,2], k = 1
輸出:[2,1]
示例 5:
輸入:head = [1,2,3], k = 2
輸出:[1,2,3]
鍊錶中節點的數目是 n
1 <= k <= n <= 105
0 <= node.val <= 100
思路:兩個指標找到以後交換值即可。
/**
* definition for singly-linked list.
* public class listnode
* listnode(int val)
* listnode(int val, listnode next)
* }*/class solution else
count++;
cur = cur.next;
}// 交換正數第k個節點和倒數第k個節點的值
count = first.val;
first.val = last.val;
last.val = count;
return head;
}}
LeetCode 1721 交換鍊錶中的節點
題意 給你鍊錶的頭節點 head 和乙個整數 k 交換 鍊錶正數第 k 個節點和倒數第 k 個節點的值後,返回鍊錶的頭節點 鍊錶 從 1 開始索引 資料範圍 鍊錶中節點的數目是 n 1 k n 1050 node.val 100解法 先遍歷一次統計一共有多少個結點,然後分別遍歷找到第k個和倒數第k個...
leetcode24,交換鍊錶相鄰的節點
given a linked list,swap every two adjacent nodes and return its head.for example,given1 2 3 4,you should return the list as2 1 4 3.your algorithm sho...
leetcode演算法題 鍊錶 兩兩交換鍊錶中的節點
給定乙個鍊錶,兩兩交換其中相鄰的節點,並返回交換後的鍊錶。你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。package com.leetcode.鍊錶 author markuszhang vm args date create in 2020 2 2 15 23 public cl...