码迷,mamicode.com
首页 >  
搜索关键字:两个指针    ( 1059个结果
链表--链表中环的入口节点
此题设快慢两个指针,先判断是否有环:如果为环快慢指针终会相遇; 找入口节点:快慢指针相遇的节点到入口节点的距离,与从头节点开始新的慢指针到相遇点的距离相同。 可画图演示。因为快指针是慢指针的两倍速,且他们在q点相遇,则我们可以得到等式 2(A+B) = A+B+C+B.得出C=A function ...
分类:其他好文   时间:2020-03-03 10:54:48    阅读次数:61
【剑指offer】链表中倒数第k个结点
题目链接:链表中倒数第k个结点 题意:输入一个链表,输出该链表中倒数第k个结点。 题解:两个指针,让其中一个先走k-1步,那后走的指针,走到倒数第k个时,前面一个就走完了! 代码: 1 /* 2 struct ListNode { 3 int val; 4 struct ListNode *next ...
分类:其他好文   时间:2020-03-03 01:22:24    阅读次数:80
C语言判断是否是环形链表
要求:给定一个链表,判断链表中是否有环。 方法:双指针. 又是双指针~~ 想象一下,两名运动员以不同的速度在环形赛道上跑步会发生什么? 算法 通过使用具有 不同速度 的快、慢两个指针遍历链表,空间复杂度可以被降低至 O(1)O(1)。慢指针每次移动一步,而快指针每次移动两步。 如果列表中不存在环,最 ...
分类:编程语言   时间:2020-03-03 00:54:59    阅读次数:92
替换空格:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
剑指offer替换空格: 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路:当我们从前往后进行替换时,每替换一个就要移动后面的所有字符,时间复杂度是0(n2) 我们可以从后向前替换,先 ...
分类:移动开发   时间:2020-03-02 18:51:39    阅读次数:93
【剑指Offer】14、链表中倒数第k个结点
题目描述 输入一个链表,输出该链表中倒数第k个结点。 题解一:栈 1 public static ListNode FindKthToTail(ListNode head,int k) { 2 if(head==null||k<=0){ 3 return null; 4 } 5 Stack<List ...
分类:其他好文   时间:2020-03-02 15:05:27    阅读次数:64
剑指offer 25.复杂链表的复制
25.复杂链表的复制 题目 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 思路 好繁琐一道题,用了三次遍历,赋值的时候用了三目运算 ...
分类:其他好文   时间:2020-03-01 12:52:06    阅读次数:52
【剑指Offer】25、复杂链表的复制
题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 题解:Hashmap 1 public static RandomList ...
分类:其他好文   时间:2020-03-01 00:33:25    阅读次数:52
206-反转链表
开始学习的时候对这一类问题十分混乱,尤其是指针的调用,这里面引用一位leetcode大佬huwt的解析,觉得很好拿来分享一下。 也体会到了大佬的话:这种题就要多画图,寻找每一次过程的关系,多总结,就做好了,作为第二天leetcode的重头戏。 好理解的双指针定义两个指针: pre 和 cur ;pr ...
分类:其他好文   时间:2020-02-27 23:33:33    阅读次数:66
26.27日
看java的时候一直看到有 new() new() new()以为是JAVA特有,今天一上老师的数据结构课才知道,new()是C语言里也有的。。 求链表倒数第几个数 一开始想遍历出整个链表大小来记住结尾然后再遍历到结尾-M后来发现可以定义两个指针相隔M位置顺路一直让后面的指针末尾就行了。 1 Ele ...
分类:其他好文   时间:2020-02-27 20:59:53    阅读次数:125
【JZOJ 5048】【GDOI2017模拟一试4.11】IQ测试
题目大意: 判断一个序列是否是另外一个序列删除若干个数字之后得到的。 正文: 我们可以定义两个指针,分别指向长序列和短序列。 拿样例来举例: 如果指针指的数相同,两个指针都往右跳: 如果不同,则指向长序列的指针往右跳: 以此类推。 超时,得分 $\texttt{30}$ 分。 考虑将长序列每一个出现 ...
分类:其他好文   时间:2020-02-26 19:00:31    阅读次数:56
1059条   上一页 1 ... 9 10 11 12 13 ... 106 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!