Java单链表面试题
做面试题之前,我们先完善单链表类,之前做的没有贯彻面向对象、封装的思想。
新的节点类:
public class HeroNode {
private int id;
private String name;
private HeroNode next;
public HeroNode(int id, String name) {
this.id = id;
this.name = name;
}
public HeroNode() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public HeroNode getNext() {
return next;
}
public void setNext(HeroNode next) {
this.next = next;
}
@Override
public String toString() {
return "HeroNode{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
新的单链表类:
package datastru;
public class MySingleLinkedList {
private HeroNode head;
public MySingleLinkedList(HeroNode head) {
this.head = head;
}
public MySingleLinkedList() {
}
public HeroNode getHead() {
return head;
}
public void setHead(HeroNode head) {
this.head = head;
}
// 遍历
public void list(){
HeroNode currentNode = head.getNext()