Подскажите, пожалуйста, почему мой код не проходит валидацию? Он рабочий.
Проверил на значениях:
System.out.println(stringLinkedList.get(-1)); // null
System.out.println(stringLinkedList.get(0)); // 1
System.out.println(stringLinkedList.get(1)); // 2
System.out.println(stringLinkedList.get(8)); // 9
System.out.println(stringLinkedList.get(9)); // null
package com.javarush.task.pro.task13.task1314;
public class StringLinkedList {
private Node first = new Node();
private Node last = new Node();
public void add(String value) {
if (first.next == null) {
Node node = new Node();
node.value = value;
first.next = node;
}
if (last.prev == null) {
last.prev = first.next;
return;
}
Node node = new Node();
node.value = value;
Node lastNode = last.prev;
lastNode.next = node;
node.prev = lastNode;
last.prev = node;
}
public String get(int index) {
//напишите тут ваш код
if (first.next == null || first.next == last
|| last.prev == null) {
return null;
}
Node node = first.next;
if (index == 0) {
return node.value;
}
if (index < 0) {
return null;
}
int cnt = 1;
for (int i = 1; i <= index; i++) {
cnt++;
node = node.next;
if (node == last.prev) {
break;
}
}
if (cnt < index + 1) {
return null;
}
return node.value;
}
public static class Node {
private Node prev;
private String value;
private Node next;
}
}