版权声明:转载请注明出处 https://blog.csdn.net/fan_lulu/article/details/84782522
带测试函数
package demo2;
class Node {
int data;
Node next=null;
public Node(int data) {
this.data = data;
}
}
package demo2;
public class MyLinkedList {
Node head=null;
public void addNode(int d){
Node newNode=new Node(d);
if(head==null){
head=newNode;
return;
}
Node tmp=head;
while (tmp.next!=null){
tmp=tmp.next;
}
tmp.next=newNode;
}
public void print(){
Node tmp=head;
while (tmp!=null){
System.out.println(tmp.data);
tmp=tmp.next;
}
}
public int length(){
int length=0;
Node tmp=head;
while(tmp!=null){
tmp=tmp.next;
length++;
}
return length;
}
public Node FindElem(Node head,int k){
if(k<=0||k>this.length())
return null;
Node p1=head;
Node p2=head;
for(int i=0;i<k-1;i++){
if(p1.next!=null){
p1=p1.next;
}else{
return null;
}
}
while (p1!=null){
p1=p1.next;
p2=p2.next;
}
return p2.data;
}
public static void main(String args[]){
MyLinkedList list=new MyLinkedList();
list.addNode(5);
list.addNode(4);
list.addNode(3);
list.addNode(2);
list.addNode(1)
list.print();
System.out.println("===================");
System.out.println(list.FindElem(head,2));
}
}
以上代码有问题,之后再改