c_cpp 61.轮换名单 - 中 - 2018.8.10

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 61.轮换名单 - 中 - 2018.8.10相关的知识,希望对你有一定的参考价值。

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* rotateRight(ListNode* head, int k) {
        if (head == NULL) return NULL;
        int nodeNum = 1;
        ListNode *tailNode = head;
        // 找尾节点
        while (tailNode->next != NULL) {
            nodeNum += 1;
            tailNode = tailNode->next;
        }
        k = k % nodeNum;
        if (k <= 0) {
            return head;
        }
        // 新的头节点的 index
        k = nodeNum - k;
        ListNode *newHead = head;
        ListNode *preNode;
        while (k > 0) {
            preNode = newHead;
            newHead = newHead->next;
            k--;
        }
        preNode->next = NULL;
        tailNode->next = head;
        return newHead;
    }
};

以上是关于c_cpp 61.轮换名单 - 中 - 2018.8.10的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 名单

将 Scrapy 代理中间件设置为在每个请求上轮换

Google Widevine DRM 密钥轮换

如何每天轮换日志,仅使用当天的数据?

支持 JWT 密钥轮换的承载令牌认证的 Owin 中间件

如何将我自己的日志添加到 Amazon Elastic Beanstalk 上的日志轮换/S3 备份?