Last K elements in LinkedList(CC150 2.2)
来源:互联网 发布:淘宝网手工布鞋 编辑:程序博客网 时间:2024/05/21 14:01
实现一个算法,发现singly linked list中倒数第k个元素;
思路1
如果已知linked list 长度length, kth个元素为(length-k); 通过这种方式可以找到这个元素;
这种解法明显不是interviewer想要的
思路2
循环思路,两根指针,保持量指针定长距离为k;同时移动; p2初始位置为head,p1初始位置为k;
p1到linkedlist队尾时,即认为:p2的位置为倒数k位置
时间复杂度:O(N)
空间复杂度:O(1)
C#代码:
public static LinkedListNode <int > kthToLast(LinkedListNode< int> head, int k) { LinkedListNode<int > p1 = head; LinkedListNode<int > p2 = head; //从head移动p2,k-1步 for ( int i = 0; i < k; i++) { if (p2 == null) return null; p2 = p2.Next; } //同时移动p1,p2; while (p2 != null) { p1 = p1.Next; p2 = p2.Next; } return p1; }
0 0
- Last K elements in LinkedList(CC150 2.2)
- CC150 LinkedList
- reverse linkedlist in k group
- Size-limited queue that holds last N elements in Java
- CC150 2.6/Leetcode Palindrome LinkedList
- first K common elements in sorted arrays
- CC150
- CC150 2.8&&Linked List Cycle dection 判断循环LinkedList
- Top K Frequent Elements
- Leetcode_347_Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- leetCode_Top K Frequent Elements
- Top K Frequent Elements
- ubuntu下的ssh安装配置
- iOS开发-iMessage App可发送贴纸、音频、视频
- memcpy strcpy
- Linux Mint (应用软件:Calculator)
- 三条指令安装docker registry
- Last K elements in LinkedList(CC150 2.2)
- DOM对HTML元素的增删改查操作2
- onCreate(Bundle savedInstanceState, PersistableBundle persistentState)大坑!
- 在Eclipse中如何关联源代码
- muduo网络库学习笔记(11):有用的EventLoop::runInLoop()函数
- Qt-信号和槽中使用自定义数据类型
- ubuntu server 安装 mariadb
- iOS中HTML与OC的交互实现
- 空表问题