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;
}
相关推荐
岁忧8 小时前
(nice!!!)(LeetCode 面试经典 150 题 ) 30. 串联所有单词的子串 (哈希表+字符串+滑动窗口)
java·c++·leetcode·面试·go·散列表
艾莉丝努力练剑9 小时前
【数据结构与算法】数据结构初阶:详解顺序表和链表(四)——单链表(下)
c语言·开发语言·数据结构·学习·算法·链表
秋说11 小时前
【PTA数据结构 | C语言版】根据层序序列重构二叉树
c语言·数据结构·算法
秋说12 小时前
【PTA数据结构 | C语言版】前序遍历二叉树
c语言·数据结构·算法
墨染点香13 小时前
LeetCode Hot100 【1.两数之和、2.两数相加、3.无重复字符的最长子串】
算法·leetcode·职场和发展
秋说14 小时前
【PTA数据结构 | C语言版】二叉树层序序列化
c语言·数据结构·算法
erdongchen14 小时前
分支和循环语句 (1 / 2)
c语言
千楼15 小时前
LeetCode 1888. 使二进制字符串字符交替的最少反转次数
算法·leetcode·职场和发展
lzb_kkk17 小时前
【C++】多线程同步三剑客介绍
c语言·c++·条件变量·互斥锁·信号量
科大饭桶17 小时前
数据结构自学Day7-- 二叉树
数据结构·算法·leetcode·链表·c