Leetcode-每日一题【61.旋转链表】

news/2025/1/11 4:07:03/

题目

给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。

示例 1:

输入:head = [1,2,3,4,5], k = 2
输出:[4,5,1,2,3]

示例 2: 

输入:head = [0,1,2], k = 4
输出:[2,0,1]

提示:

  • 链表中节点的数目在范围 [0, 500] 内
  • -100 <= Node.val <= 100
  • 0 <= k <= 2 * 109

解题思路

1.根据题目给出的示例,我们可以看出:将链表中每个节点向右移动K个位置,也就是将链表中倒数第K个节点作为头节点,其前面的所有节点放在原链表尾节点之后。

2.因此整体思路就是找到倒数第K个节点的前一个节点,然后让链表首尾相连,第K个节点作为链表旋转后的新的头节点,其前一个节点作为链表旋转后的尾节点。

3.但是由于k的值可能大于链表长度,因此我们需要先计算一下链表长度,用k对链表长度取余作为我们的新k,否则会空指针异常。

代码实现

class Solution {public ListNode rotateRight(ListNode head, int k) {if(head == null){return head;}int len = calaulate(head);k = k % len;ListNode low = head;ListNode fast = head;for(int i = 1; i <= k; i++){fast = fast.next;}while(fast.next != null){low = low.next;fast = fast.next;}fast.next = head;head = low.next;low.next = null;return head;}private int calaulate(ListNode head){int length = 1;for(ListNode cur = head; cur.next != null; cur = cur.next){length++;}return length;}
}

测试结果 

 

 

 

 

 


http://www.ppmy.cn/news/674306.html

相关文章

关于苹果appid忘记安全性问题重置

在使用xcode时&#xff0c;发现强制推送双重认证&#xff0c;但是注册忘记了安全性问题。解决流程如下&#xff0c;耗时3天左右(不算周末) 账号密码正确&#xff0c;没有救援电子邮件&#xff0c;已经两步验证&#xff0c;忘记安全性问题的情况下启用双重认证 打电话工程师工单…

忘记iCloud密码的解决方案 - 仅适用于iOS 7.1以前(不含)

当苹果公司首次推出iOS 7时&#xff0c;有一个小技术错误帮助用户删除iCloud帐户&#xff0c;而不需输入密码。不过&#xff0c;苹果公司已经通过iOS 7.1的修正了这个错误。但是&#xff0c;如果您仍然拥有iOS 7&#xff0c;请按照以下步骤指导您删除遗失密码的iCloud帐户。 s…

iCloud说明

原文地址:https://developer.apple.com/library/prerelease/ios/#releasenotes/General/WhatsNewIniPhoneOS/Articles/iOS5.html iCloud Storage APIs The iCloud storage APIs let your application write user documents and data to a central location and access those i…

iPhone App里保存用户密码的安全方法

转自CocoaChina会员的博客&#xff0c;原文地址 http://b.imi.im/?p362 作为一名iPhone开发者, 你需要对你的用户安全负责. 请问, 你是怎么保存用户的密码的?直接保存到plist里?加密? AES? DES? 能保证你的代码不被反编译拿到你的加密Key? 这也未免太不苹果了吧. 我Goog…

iOS 7新漏洞:不用输密码就能关闭“找到我的iPhone”并移除iCloud账户

苹果早前就为iOS系统引入了追踪丢失iPhone设备的安全功能&#xff0c;在用户的iPhone设备被窃或丢失后&#xff0c;这项安全功能能够阻止偷窃或捡到iPhone手机的人移除设备中的iCloud账户&#xff0c;以及阻止他们关闭Find my iPhone功能。不过有用户似乎发现了iOS 7以及更高版…

【已解决】iOS此服务器的证书无效。您可能正在连接到一个伪装成“xxx.com”的服务器,这会威胁到您的机密信息的安全

在使用Charles对iOS应用进行抓包时&#xff0c;输入chls.pro/ssl下载安装证书后&#xff0c;打开APP报错&#xff1a; 可能大家和我一样&#xff0c;以为安装成功后&#xff0c;就觉得一切OK了&#xff0c;但是打开APP会报错&#xff0c;因为其中缺少非常重要的一步&#xff0…

云服务器的安全防护

1、从基本做起&#xff0c;及时安装系统补丁。 不管是什么操作系统&#xff0c;都是在更新中不断完善&#xff0c;都存在着漏洞&#xff0c;这些漏洞就是电脑被入侵的最好通道&#xff0c;所以及时打补丁更新系统&#xff0c;防止被攻击利用&#xff0c;是服务器最重要的安全保…

更安全的密码存储与验证方案

现在比较流行的密码存储是对密码明文做 HASH运算&#xff0c;把得到HASH值存储到数据库中。验证过程就是再次对用户发过来的明文密码做 HASH&#xff0c;然后把得到HASH值与数据库中的存储的HASH做比较。当然在做HASH时加盐可以提高密码的安全性。 密码的攻击手段 只要了解了…