摘要: 一、查找单链表中间结点 1、简单查找 先遍历获取单链表单长度n,然后通过计算得到中间结点为n/2,然后查找下标为n/2的元素。 2、优化查找 先设置记录点fast、slow,下标均从0开始,fast走两步,slow走一步,同时遍历两个记录点,直到fast的值为null,slow是中间结点。 单链表结 阅读全文
posted @ 2017-08-02 22:43 茅坤宝骏氹 阅读(727) 评论(0) 推荐(0) 编辑
摘要: 一、反向查找单链表 1、简单查找 先遍历获取单链表单长度n,然后通过计算得到倒数第k个元素的下标为n-k,然后查找下标为n-k的元素。 2、优化查找 先找到下标为k的元素为记录点p1,然后设置新的记录点p2的下标从0开始,同时遍历两个记录点,直到p1的值为null,p2是倒数第k个元素。 单链表结点 阅读全文
posted @ 2017-08-02 21:27 茅坤宝骏氹 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 一、链表反转 1、反转非递归算法 2、反转递归算法 链表结点: package cn.edu.scau.mk; /** * * @author MK * @param <T> */ public class Node<T> { private T data; private Node<T> next 阅读全文
posted @ 2017-08-02 19:39 茅坤宝骏氹 阅读(242) 评论(0) 推荐(0) 编辑