LeetCoding Challenge Oct. 7: Rotate List
오늘의 문제는Rotate List입니다.
문제의 개요
생각
어제의 문제와 마찬가지로 대학의 과정(약)
len
와 마지막 노드의 참조tail
를 구한다.사전 조정
k
len
하지 않도록k
이상len - k
이후의 요소가 목록의 시작으로 낮게 이동tail
를 head
의 다음 노드로 연결하여 목록을 임시로 고리 모양으로 len - k - 1
노드의 참고를 얻다코드
class Solution {
public ListNode rotateRight(ListNode head, int k) {
if (head == null || head.next == null) {
return head;
}
ListNode tail = null;
int len = 0;
for (ListNode node = head; node != null; node = node.next) {
tail = node;
len++;
}
k = len - (k % len);
if (k == 0) {
return head;
}
tail.next = head;
for (ListNode node = head; k > 0; node = node.next) {
tail = node;
k--;
}
head = tail.next;
tail.next = null;
return head;
}
}
Reference
이 문제에 관하여(LeetCoding Challenge Oct. 7: Rotate List), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/komiya_atsushi/articles/0ee4c4df0034919ddc20텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)