您的位置:首页 > 职场人生

面试题:题目: 链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5

2017-07-23 17:54 417 查看
    题目:
链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,用程序实现Node* RotateList(Node* list, size_t k). 提示:这个题是链表逆置的升级变型。
    很明显可以看出这个题目在处理划分小段链表和小段链表的翻转,连接,对于每个小段链表来说都是相同的操作。
    我们可以将这个链表按K值进行划分,将划分出来的每一段都翻转,在重现连接起来,就是整个链表按K值翻转后的结果
    在处理这个问题时,将小段链表的长度小于K时,不进行翻转直接连接
   


   


  


  


    程序运行结果
 


    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐