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号25 分钟前
paho-mqtt-c + OpenSSL 3.x 连接华为云 IoTDA TLS 握手失败问题分析
c语言·网络·华为云
程序员-King.34 分钟前
day126—二分查找—寻找旋转排序数组中的最小值(LeetCode-153)
算法·leetcode·二分查找
菜鸟233号34 分钟前
力扣494 目标和 java实现
java·数据结构·算法·leetcode
有一个好名字35 分钟前
力扣-字符串解码
java·算法·leetcode
sin_hielo41 分钟前
leetcode 1266
数据结构·算法·leetcode
飞机和胖和黄44 分钟前
王道C语言第一周作业
c语言·开发语言
你怎么知道我是队长10 小时前
C语言---typedef
c语言·c++·算法
带土110 小时前
5. enum(枚举)关键字在C/C++中的作用
c语言·c++
踩坑记录13 小时前
leetcode hot100 3.无重复字符的最长子串 medium 滑动窗口(双指针)
python·leetcode
凉、介16 小时前
深入 QEMU Guest Agent:虚拟机内外通信的隐形纽带
c语言·笔记·学习·嵌入式·虚拟化