오른쪽으로 회전 - LinkedList
6045 단어 leetcodejavascript
var rotateRight = function(head, k) {
if(head === null || head.next === null){
return head;
}
for(let i=0; i<k; i++){
let current = head;
let previous = head;
while (current?.next){
previous = current;
current = current.next;
}
let lastElement = previous.next;
previous.next = null;
lastElement.next = head;
head=lastElement
}
return head;
};
let current = head;
let slow = head;
let fast = head;
let size = 0;
if(!head || !head.next) return head;
while(current) {
current = current.next;
size++;
}
let shiftBy = k % size;
if (shiftBy === 0) return head;
while(shiftBy--) {
fast = fast.next;
}
while(fast.next) {
fast = fast.next;
slow = slow.next;
}
fast.next = head;
head = slow.next;
slow.next = null;
return head;
Reference
이 문제에 관하여(오른쪽으로 회전 - LinkedList), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/zeeshanali0704/rotate-right-linkedlist-4e6g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)