LeetCode第二十五题-反转链表中k组节点

Reverse Nodes in k-Group

问题简介:

给定链表,反转链表中每k个节点并返回其修改后的链表.

注:k是正整数,如果节点数不是k的倍数,那么最后的剩余节点应该保持不变.

举例:

给定的链表: 1->2->3->4->5

当 k = 2, 输出: 2->1->4->3->5

当 k = 3, 输出: 3->2->1->4->5

链表结构:

解法一:

当k=1为输入链表本身,当k大于链表即返回链表本身,将链表添加到集合中,每k个元素进行截取反转并添加到新集合中,将新集合输入到结果链表中

复杂度分析:

时间复杂度:o(n)都是单层遍历

空间复杂度:o(n)最大为n次定义集合元素

注:

List list = new ArrayList();

1.截取list的一部分:

List result = list.subList(1,n)

截取的是list集合中索引1到n-1的值,数学中的左闭右开,[1,n)

2.集合list的反转

Collections.reverse(list)

小白刷题之路,请多指教— — 要么大器晚成,要么石沉大海

posted @ 2019-04-30 10:16  啦啦a德玛西亚  阅读(172)  评论(0)    收藏  举报