情景介绍:
我明天要参加TripAdvisor的面试,为了练习,我决定创建自己的自定义LinkedList。我正试图找出最好的方法来遍历它。
主要问题:我已经成功地遍历了我的LinkedList,但我相信有一种更好的方法来实现。你会怎样遍历?
奖励问题:我的整个类看起来如何?有什么东西我应该/不应该添加?它似乎工作得很好,但是否优化?
奖励问题2:最后,我想知道是否有人了解我必须知道的典型面试问题/概念?
非常感谢。
这里是我的类:
我明天要参加TripAdvisor的面试,为了练习,我决定创建自己的自定义LinkedList。我正试图找出最好的方法来遍历它。
主要问题:我已经成功地遍历了我的LinkedList,但我相信有一种更好的方法来实现。你会怎样遍历?
奖励问题:我的整个类看起来如何?有什么东西我应该/不应该添加?它似乎工作得很好,但是否优化?
奖励问题2:最后,我想知道是否有人了解我必须知道的典型面试问题/概念?
非常感谢。
这里是我的类:
// *********************************Node Class*******************************************
public class Node<T> {
Node<T> link;
T data;
public Node(T data) {
this.data = data;
link = null;
}
public T getData() {
return data;
}
public Node<T> getLink() {
return link;
}
public Node<T> setLink(Node<T> N) {
this.link = N;
return link;
}
public void setData(T newData) {
this.data = newData;
}
}
//****************************************Linked List Class*******************************
public class LinkedList<T> {
Node<T> head;
T data;
public LinkedList(){
head = null;
}
public void add(T data){
Node<T> newNode = new Node<T> (data);
newNode.setLink(head);
head = newNode;
}
//had problems printing out the data in the last node
public void traverse(){
Node<T> pointer;
pointer = head;
while (pointer.getLink()!=null){
System.out.println(pointer.getData());
pointer = pointer.setLink(pointer.getLink());
}
//Fixed problems For last node that doesnt get printed out
System.out.println(pointer.getData());
}
//请问有更好的方法来完成这个任务吗? //谢谢
pointer = pointer.getLink();
和while (pointer != null) {
(并删除你的最后一个Print语句)? - Samuel O'Malley