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;
}
相关推荐
水饺编程1 小时前
第5章,[标签 Win32] :获取设备环境的信息
c语言·c++·windows·visual studio
lhbian1 小时前
C++、C与易语言:编程语言对比解析
c语言·开发语言·c++
꧁细听勿语情꧂1 小时前
数据结构概念和算法、时间复杂度、空间复杂度引入
c语言·开发语言·数据结构·算法
小堃学编程2 小时前
【项目实战】基于protobuf的发布订阅式消息队列(4)—— 服务端
c语言·c++·vscode·消息队列·gtest·protobuf·muduo
三品吉他手会点灯2 小时前
C语言学习笔记 - 3. C概述 - C语言的起源和发展
c语言·笔记·学习
念恒123063 小时前
进程概念(1)
linux·c语言
念恒123063 小时前
进程概念(2)
linux·c语言
weixin_446023563 小时前
C语言过时了?2026年C3和Zig谁能拯救它
c语言·zig·c3·系统级开发·语言革新
广州山泉婚姻4 小时前
C语言循环结构精讲:底层认知与实用技巧
c语言·人工智能
handler014 小时前
Linux: 基本指令知识点(3)
linux·服务器·c语言·开发语言·c++·笔记