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)
小白刷题之路,请多指教— — 要么大器晚成,要么石沉大海