C语言 | Leetcode C语言题解之第61题旋转链表

题目:

题解:

cpp 复制代码
struct ListNode* rotateRight(struct ListNode* head, int k) {
    if (k == 0 || head == NULL || head->next == NULL) {
        return head;
    }
    int n = 1;
    struct ListNode* iter = head;
    while (iter->next != NULL) {
        iter = iter->next;
        n++;
    }
    int add = n - k % n;
    if (add == n) {
        return head;
    }
    iter->next = head;
    while (add--) {
        iter = iter->next;
    }
    struct ListNode* ret = iter->next;
    iter->next = NULL;
    return ret;
}
相关推荐
ben9518chen4 小时前
嵌入式Linux C语言程序设计九
linux·c语言
下午见。5 小时前
C语言结构体入门:定义、访问与传参全解析
c语言·笔记·学习
cs麦子6 小时前
C语言--函数(function)
c语言·开发语言
极智-9966 小时前
C语言编译器?【图文详解】Visual Studio安装配置编译运行C语言?C语言编译器下载安装?
c语言·visual studio·c语言编译器·c代码运行·visual studio下载·c编程·c语言下载
是苏浙6 小时前
零基础入门C语言之C语言实现数据结构之顺序表
c语言·开发语言·数据结构
代码雕刻家6 小时前
C语言中关于类型转换不匹配的解决方案
c语言·开发语言·算法
许长安8 小时前
c/c++ static关键字详解
c语言·c++·经验分享·笔记
逐步前行9 小时前
C数据结构--排序算法
c语言·数据结构·排序算法
小安同学iter10 小时前
SQL50+Hot100系列(11.7)
java·算法·leetcode·hot100·sql50
许长安12 小时前
C/C++中的extern关键字详解
c语言·开发语言·c++·经验分享·笔记