找出单向链表中倒数第K个节点

 1 /*
 2      * 这个算法使用递归的方式访问整个链表,当到达链表末端的时候,该方法会回传一个置位0的计数器
 3      * 之后每次调用就会将这个计数器加1,当计数器等于K时,就说明我们要访问的链表倒数第K个元素找到了
 4      * 在这里使用了栈回传
 5      * */
 6     public static int nthToLast(Node root,int k)
 7     {
 8         if(root==null)
 9             return 0;
10         int i=nthToLast(root.next,k)+1;
11         if(i==k)
12         {
13             System.out.println(root.data);
14         }
15         return i;
16     }

 

posted on 2014-09-05 11:05  daocaorendeshijie  阅读(189)  评论(0编辑  收藏  举报

导航