返回链表中倒数第k个结点
2016-05-19 21:42
323 查看
思路:从第一个节点开始遍历,将当前节点以及当前节点前面K-1个节点存储在一个容量为k的数组中,每往后遍历一个节点,便将数组中所有节点前移一位,并将当前节点存储在数组的最后一个位置,当遍历到的节点为Null时,数组中的第一个节点就是链表的倒数第K个节点,代码如下:
/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode FindKthToTail(ListNode head,int k) { if(head==null||k<=0){ return null; } ListNode[] arr = new ListNode[k]; //将当前遍历到的k个元素按顺序存在这个数组里 int count = 0; while(head!=null){ if(count<k){ //数组未满,依次存储 arr[count] = head; head = head.next; count++; }else{ //数组已满,将所有元素前移一位,最后一个元素设置为当前元素 for(int i=0;i<k-1;i++){ arr[i] = arr[i+1]; } arr[k-1] = head; head = head.next; } } if(count<k){ //链表没有K个节点 return null; } return arr[0]; } }
相关文章推荐
- Facebook首席运营官激情演讲 首次公开谈论丈夫之死
- 【Hello,互联网】百家争鸣的互联网时代
- JDK支持的JAXB版本
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- 文件名查找指令find
- string类中getline函数的应用
- 顺序表(粗糙版)
- 浪潮之巅读后感
- tomcat连接超时
- window下rabbitmq的配置问题
- Training MNIST LeNet on MNIST with Caffe
- bzoj:4105: [Thu Summer Camp 2015]平方运算
- 找水王
- JAXB - Hello World with Namespace
- LeetCode Word Break II
- 深入浅出Mybatis系列(五)---TypeHandler简介及配置(mybatis源码篇)
- 地址栏上没有显示.jsp后缀的页面,只是显示方法名
- javaScript valueOf和toString方法在不同场景被调用进行数据转换
- 小tips reboot与shutdown -r now 区别与联系
- HttpURLConnection多线程下载