遇到的输入链表如果没有空表头,一般给它加个空表头,便于设计算法,不用区分很多特殊情况。
如果算法可能设计前驱指针**pre
**,则务必要加上空表头,因为当需要找到链表第一个节点的前驱指针时,没空表头会很难办。有空表头的话,第一个节点的前驱节点就是空表头。
思路
先统计链表的长度n
,如果k>n
,就取k=k%n
,如果k==0
,就不用做变化,否则找到新链表头head2
和它的前驱节点pre
,将链表重新断开并连接,返回新链表头即可。
详情
https://cloud.tencent.com/developer/article/1432242
思路比较多内容,见详情
详情
https://cloud.tencent.com/developer/article/1432267
思路
输入的链表没有空表头,所以先建一个空表头,后面的算法就好写了(不用区分m=1
的情况)。