add: K个一组翻转链表

This commit is contained in:
2020-05-16 19:50:31 +08:00
parent 5593f3e2c7
commit 55ff39a1c3
4 changed files with 75 additions and 0 deletions

View File

@ -15,3 +15,13 @@ export const arrToList = (arr) => {
return head
}
export const listToArr = (list) => {
const arr = []
while (list) {
arr.push(list.val)
list = list.next
}
return arr
}

View File

@ -0,0 +1,11 @@
import { reverseKGroup } from '../../src/list/reverse-nodes-in-k-group'
import { arrToList, listToArr } from './ListNode'
test('K个一组翻转链表', () => {
const res = reverseKGroup(arrToList([1, 2, 3, 4, 5]), 3)
expect(listToArr(res)).toEqual([3, 2, 1, 4, 5])
expect(res).toEqual(arrToList([3, 2, 1, 4, 5]))
expect(reverseKGroup(arrToList([1, 2, 3, 4, 5]), 2)).toEqual(arrToList([2, 1, 4, 3, 5]))
expect(reverseKGroup(arrToList([1, 2, 3, 4, 5, 6]), 2)).toEqual(arrToList([2, 1, 4, 3, 6, 5]))
expect(reverseKGroup(arrToList([1, 2, 3, 4, 5, 6, 7, 8]), 2)).toEqual(arrToList([2, 1, 4, 3, 6, 5, 8, 7]))
})