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;
}
相关推荐
松涛和鸣2 分钟前
63、IMX6ULL ADC驱动开发
c语言·arm开发·驱动开发·单片机·gpt·fpga开发
C++ 老炮儿的技术栈10 分钟前
CMFCEditBrowseCtrl用法一例
c语言·开发语言·c++·windows·qt·visual studio code
睡不醒的kun20 分钟前
不定长滑动窗口-基础篇(2)
数据结构·c++·算法·leetcode·哈希算法·散列表·滑动窗口
我是大咖28 分钟前
C 语言笔记: const 指针 + 堆内存申请
c语言·开发语言
Swift社区35 分钟前
LeetCode 384 打乱数组
算法·leetcode·职场和发展
HABuo1 小时前
【linux基础I/O(一)】文件系统调用接口&文件描述符详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
拾光Ծ1 小时前
【Linux】一切皆文件:深入理解文件与文件IO
linux·c语言·运维开发·系统编程·重定向·linux开发·文件io
windows_61 小时前
MISRA C:2004 逐条分析
c语言
进击的小头1 小时前
移动平均滤波器:从原理到DSP ADC采样实战(C语言实现)
c语言·开发语言·算法
历程里程碑1 小时前
Linux 6 权限管理全解析
linux·运维·服务器·c语言·数据结构·笔记·算法