leetcode日记(49)旋转链表

其实不难,就是根据k=k%len判断需要旋转的位置,再将后半段接在前半段前面就行。

cpp 复制代码
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode* rotateRight(ListNode* head, int k) {
        if(head==NULL||k==0) return head;
        ListNode* h=head;
        int len=1;
        while(h->next) {h=h->next;len++;}
        k=k%len;
        if(k==0) return head;
        ListNode* e=head;
        for(int i=0;i<len-k-1;i++) e=e->next;
        ListNode* n=e->next;
        e->next=NULL;
        h->next=head;
        return n;
    }
};
相关推荐
怎么没有名字注册了啊4 分钟前
C++后台进程
java·c++·算法
Rubisco..41 分钟前
codeforces 2.0
算法
未知陨落1 小时前
LeetCode:98.颜色分类
算法·leetcode
~kiss~1 小时前
K-means损失函数-收敛证明
算法·机器学习·kmeans
杨小码不BUG2 小时前
Davor的北极探险资金筹集:数学建模与算法优化(洛谷P4956)
c++·算法·数学建模·信奥赛·csp-j/s
mit6.8242 小时前
10.5 数位dp
c++·算法
2401_881244403 小时前
P3808 AC 自动机(简单版)
算法
Jayden_Ruan4 小时前
C++十进制转二进制
数据结构·c++·算法
Haooog4 小时前
98.验证二叉搜索树(二叉树算法题)
java·数据结构·算法·leetcode·二叉树
Macre Aegir Thrym5 小时前
MINIST——SVM
算法·机器学习·支持向量机