给定链表的头节点,旋转链表,将链表每个节点往右移动 k 个位置,原链表后 k 个位置的节点则依次移动到链表头。 即,例如链表 : 1->2->3->4->5 k=2 则返回链表 4->5->1->2->3 数据范围:链表中节点数满足 ,-笔试面试资料

这是qklbishe.com第19077 篇笔试面试资料
提供答案分析,通过本文《给定链表的头节点,旋转链表,将链表每个节点往右移动 k 个位置,原链表后 k 个位置的节点则依次移动到链表头。
即,例如链表 : 1->2->3->4->5 k=2 则返回链表 4->5->1->2->3
数据范围:链表中节点数满足 ,-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

给定链表的头节点,旋转链表,将链表每个节点往右移动 k 个位置,原链表后 k 个位置的节点则依次移动到链表头。
即,例如链表 : 1->2->3->4->5 k=2 则返回链表 4->5->1->2->3
数据范围:链表中节点数满足 给定链表的头节点,旋转链表,将链表每个节点往右移动 k 个位置,原链表后 k 个位置的节点则依次移动到链表头。          即,例如链表 : 1->2->3->4->5 k=2 则返回链表 4->5->1->2->3          数据范围:链表中节点数满足  ,给定链表的头节点,旋转链表,将链表每个节点往右移动 k 个位置,原链表后 k 个位置的节点则依次移动到链表头。          即,例如链表 : 1->2->3->4->5 k=2 则返回链表 4->5->1->2->3          数据范围:链表中节点数满足  ,
Java

给定链表的头节点,旋转链表,将链表每个节点往右移动 k 个位置,原链表后 k 个位置的节点则依次移动到链表头。          即,例如链表 : 1->2->3->4->5 k=2 则返回链表 4->5->1->2->3          数据范围:链表中节点数满足  , 零葬

其实就是求链表的倒数第k个节点,然后以它为头结点返回,把原始链表的尾连接上原始链表的头。但是这个k可能比原始链表要大,所以得先求出链表的长度,然后k对链表长度取余再进行算法流程。
import java.util.*;  /*  * public class ListNode {  *   int val;  *   ListNode next = null;  *   public ListNode(int val) {  *     this.val = val;  *   }  * }  */  public class Solution {     /**      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可      *      *       * @param head ListNode类       * @param k int整型       * @return ListNode类      */     public ListNode rotateLinkedList (ListNode head, int k) {         if(head == null) return head;         // 先求链表倒数第k个节点         ListNode cur = head;         int n = 0;         while(cur != null){             n ++;             cur = cur.next;         }         k %= n;         ListNode fast = head;         for(int i = 0; i < k - 1; i++){             fast = fast.next;         }         ListNode slow = head;         ListNode prev = new ListNode(-1);         prev.next = slow;         while(fast.next != null){             prev = prev.next;             slow = slow.next;             fast = fast.next;         }         prev.next = null;         fast.next = head;         return slow;     } }

今天 18:18:20 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 给定链表的头节点,旋转链表,将链表每个节点往右移动 k 个位置,原链表后 k 个位置的节点则依次移动到链表头。 即,例如链表 : 1->2->3->4->5 k=2 则返回链表 4->5->1->2->3 数据范围:链表中节点数满足 ,-笔试面试资料

提供最优质的资源集合

立即查看 了解详情