// 定义链表节点类型
class ListNode<T> {
value: T;
next: ListNode<T> | null;
constructor(value: T, next: ListNode<T> | null = null) {
this.value = value;
this.next = next;
}
}
// 定义操作链表的泛型函数
function transformList<T>(head: ListNode<T> | null, callback: (value: T) => T): ListNode<T> | null {
if (!head) {
return null;
}
const newHead = new ListNode(callback(head.value));
let current = newHead;
let originalCurrent = head.next;
while (originalCurrent) {
current.next = new ListNode(callback(originalCurrent.value));
originalCurrent = originalCurrent.next;
current = current.next;
}
return newHead;
}