个人能建什么样的网站,建站为应用技术,dw网页制作超链接,医疗网站的建设主要竞争对手思路#xff1a;用快慢指针找到最后链表k个需要移动的节点#xff0c;然后中间断开节点#xff0c;原尾节点连接原头节点#xff0c;返回新的节点即可#xff1b; 但因为k可能比节点数大#xff0c;所以需要先统计节点个数#xff0c;再取模#xff0c;看看k到底需要移… 思路用快慢指针找到最后链表k个需要移动的节点然后中间断开节点原尾节点连接原头节点返回新的节点即可 但因为k可能比节点数大所以需要先统计节点个数再取模看看k到底需要移动多少个 class Solution {public ListNode rotateRight(ListNode head, int k) {//只有0或1个节点直接返回原链表if(head null || head.next null) return head;ListNode fast head;ListNode slow head;//统计链表有多少个节点因为k可能会超过节点数所以需要取模计算ListNode t head;int size 1; //节点数while(t.next!null) {t t.next;size;}if(k%size 0) return head; //如果k能整除则不用移动直接返回k k%size; //k取 取模后的结果//双指针slow和fast中间间隔k个节点while(fast.next!null k-- 0) {fast fast.next;}while(fast.next!null) {fast fast.next;slow slow.next;}ListNode newHead slow.next;//然后记录下新的头节点slow.next null;//中间断开fast.next head;//原尾节点和头节点连接return newHead;//返回新的头节点}
}