0
我已經編寫了下面的代碼,用於查找單鏈表末尾的第五個元素。列表不應該遍歷一次以上。假設列表大小不能無需遍歷列表即可知曉。我的代碼是否滿足這個問題?我已經看到了使用指針解決相同的問題,所以我很困惑,如果我的方法是錯誤的。單行鏈表末尾沒有遍歷列表的第五個元素
public class LinkedList {
public static void main(String[] args) {
List<String> inputListStr = new ArrayList<String>();
java.util.LinkedList<String> outputList = new java.util.LinkedList<String>();
System.out.println("Enter comma separated input");
Scanner Scan1 = new Scanner(System.in);
inputListStr = Arrays.asList(Scan1.next().split(","));
outputList.addAll(inputListStr);
nthElement(outputList);
Scan1.close();
}
public static void nthElement(java.util.LinkedList<String> outputList) {
int counter = 0;
for (String list : outputList) {
counter++;
}
System.out.println("5th element is " + outputList.get(counter - 5));
}
}
你應該問問你的老師,但我會說不,因爲'get'可能會遍歷列表。提示:遍歷時,始終保留一個指向前5個元素的指針 – SJuan76
我也建議不要將類命名爲與java.util.LinkedList類相同的東西 - 這很讓人困惑。 – EJoshuaS