设为首页 加入收藏

TOP

iOS常用算法之单链表查找倒数第n个节点(图解)
2019-08-24 00:05:04 】 浏览:39
Tags:iOS 常用 算法 单链表 查找 倒数 节点 图解

  拿到题目, 首先要先了解链表数据结构, 如下图:

    

 

  常规思路: 利用数组, 遍历整个单链表, 将每个节点装入数组中, 最终拿到数组根据索引(数组长度-1-n)就得到了倒数第n个元素, 这里要注意从数组中根据索引取值的时候要注意数组越界的情况发生.

  简单思路:

            定义两个指针p1,p2;

    假设总长度为n, 

    倒数第k个对应正数第n-k-1,

    那么第一个指针移动k-1次, 第二个指针保持在head不动;

    第一个指针移动到尾部, 共移动n-k-1次, 那么第二个指针同步移动同样次数, 刚好指向第k个节点.

    这里要注意, 总长度小于k的情况, 这样需要访问空.

图解演算:

  

  

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇iOS 为何使用runtime方法交换多次.. 下一篇SwiftUI学习(一)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目