1
연결된 목록을 시계 방향으로 일정량 회전하려고합니다. 링크 된 목록을 시계 방향으로 회전
private class Node {
private T data; // Entry in bag
private Node next; // link to next node
private Node(T dataPortion) {
this(dataPortion, null);
} // end constructor
private Node(T dataPortion, Node nextNode) {
data = dataPortion;
next = nextNode;
} // end constructor
} // end Node
public void leftShift(int num){
if (num == 0) return;
Node current = firstNode;
int count = 1;
while (count < num && current != null)
{
current = current.next;
count++;
}
if (current == null)
return;
Node kthNode = current;
while (current.next != null)
current = current.next;
current.next = firstNode;
firstNode = kthNode.next;
kthNode.next = null;
}
나는 일을 내 시계 반대 방향으로 회전을 얻을 수 있었다 그러나 나는 내가 이전 노드를 찾을 수 없습니다부터 시계 방향으로 회전을 얻는 방법에 대해 좀 혼란 스러워요.
내가 노드 클래스를 유지하는 것입니다 그리고 난, FIFO의 구현을 ListNode 클래스를 만들 것이다. 그런 다음 queue(), dequeue()를 사용하여 마지막 노드를 가져 와서 큐의 시작 부분에 놓습니다. 예를 쓰고 싶다면 –
예를 들어 도움이 될 것입니다. – FiftySentos