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;
}
相关推荐
计算机安禾3 分钟前
【C语言程序设计】第38篇:链表数据结构(二):链表的插入与删除操作
c语言·开发语言·数据结构·c++·算法·链表
灰色小旋风31 分钟前
力扣17 电话号码的字母组合(C++)
c++·算法·leetcode
lingran__32 分钟前
C语言预处理详解(C语言知识完结篇)
c语言·开发语言
美式请加冰44 分钟前
栈的介绍和使用(算法)
数据结构·算法·leetcode
重生之我是Java开发战士1 小时前
【递归、搜索与回溯】FloodFill算法:图像渲染,岛屿数量,岛屿的最大面积,被围绕的区域,太平洋大西洋水流问题,扫雷游戏,衣橱整理
算法·leetcode·深度优先
j_xxx404_1 小时前
力扣--分治(快速排序)算法题I:颜色分类,排序数组
数据结构·c++·算法·leetcode·排序算法
阿Y加油吧1 小时前
力扣打卡day08——轮转数组、除自身外乘积
数据结构·算法·leetcode
wengqidaifeng1 小时前
备战蓝桥杯----C/C++组 (一)数据结构与STL讲解(中):树、二叉树与堆——从层次结构到优先队列的进阶之路
c语言·c++·蓝桥杯
im_AMBER1 小时前
Leetcode 143 搜索插入位置 | 搜索二维矩阵
数据结构·算法·leetcode
承渊政道1 小时前
C++学习之旅【IO库相关内容介绍】
c语言·开发语言·c++·学习·macos·visual studio