博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Rotate List
阅读量:6760 次
发布时间:2019-06-26

本文共 1474 字,大约阅读时间需要 4 分钟。

Given a list, rotate the list to the right by k places, where k is non-negative.

For example:

Given 1->2->3->4->5->NULL and k = 2,
return 4->5->1->2->3->NULL.

注意:当给定的k为0的时候,不需要旋转。

C++实现代码:

#include
#include
using namespace std;//Definition for singly-linked list.struct ListNode{ int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};class Solution{public: ListNode *rotateRight(ListNode *head, int k) { if(head==NULL||head->next==NULL) return head; ListNode *p=head; ListNode *q=head; ListNode *qre=head; int len=0; while(p) { len++; p=p->next; } p=head; k=k%len; if(k==0) return head; while(q) { if(k<0) { qre=q; q=q->next; p=p->next; } else { k--; qre=q; q=q->next; } } q=p->next; p->next=NULL; qre->next=head; head=q; cout<
val<
next=head; head=p; } } }};int main(){ Solution s; ListNode *L=NULL; s.createList(L); ListNode *head=L; while(head) { cout<
val<<" "; head=head->next; } cout<
val<<" "; L=L->next; }}

运行结果:

转载地址:http://sofeo.baihongyu.com/

你可能感兴趣的文章
Vue.nextTick和Vue.$nextTick
查看>>
经典算法-链表(golang)
查看>>
leetcode — search-a-2d-matrix
查看>>
魔板 bfs() 预处理,记录每种状态。然后状态置换,(重点要用到全排列的hash记录状态)...
查看>>
构建之法课后作业第一次作业(15个题选一个)
查看>>
操作redis方法
查看>>
C语言函数
查看>>
Python3-异常处理
查看>>
Python-简单打印进度条
查看>>
【02】天气查询应用(第二课)
查看>>
监听微信返回按钮
查看>>
第二次实验报告
查看>>
HDU ACM 3790 最短路径问题
查看>>
python生成器
查看>>
linux 安装 ftp
查看>>
python 监控FTP目录下的文件个数
查看>>
MapInfo格式转arggis格式
查看>>
Network - SSL/TLS的基本概念
查看>>
python学习之老男孩python全栈第九期_day012知识点总结
查看>>
pandas学习(数据分组与分组运算、离散化处理、数据合并)
查看>>