某公司的专业一面面试题
默默地用Java写:
1.大致的数据结构:
class Node{
Node(int value, Node nnode){
this.value=value;
this.nnode=nnode;
}
}2.找到倒数第k个节点的函数findknode()public static Node findknode(Node head, int k){
if ((Null==head) || (Null==head.nnode))
return head;
cur=head;
knode=head;
nextnode=Null;
count=0;
while(cur!=Null){
count+=1;
if(count>=k){
nextnode=knode.nnode;
knode=nextnode;
}
nextnode=cur.nnode;
cur=nextnode;
}
return knode;
}实际上就是快慢指针的思想,对于链表实际长度小于k的情况,默认返回头节点head。
欢迎指正~
本文介绍了一个Java实现的链表数据结构,并提供了一种寻找链表中倒数第K个节点的方法。该方法使用了快慢指针技巧,能够有效地解决此问题。
479





