寻找公共链表起始位置
题目:存在这样一种情况,如果两个单词有相同的后缀,那我们可以将后缀作为公共部分存储,比如being和loading,其中ing就可以作为
公共部分,现在存在两个链表,含有公共部分,设计一个高效算法找到其公共后缀其实位置。
分析:
我们可以这样想,如果我们单纯的让两条链表的指针同步移动,那么只有两条链表长度相同时才可能在公共部分的起始位置相遇,
所以我们应该让他们处于同一起跑线上,故而我们应该让较长的链表先走,具体走多少,应该是走过两条链表的长度之差。
代码:
struct Link {union {int data;char letter;};Link *next;
};
#include <stdio.h>
#include <stdlib.h>
Link *findCommonSuffix(Link *h1,Link *h2) {struct Link *p = h1->next, *q = h2->next;int countP =0, countQ = 0,gap;while (p) {//遍历,获取链表长度countP++;p = p->next;}while (q) {countQ++;q = q->next;}if (countQ>countP) {//让p指针始终指向较长的那条链表p = h2->next;q = h1->next;gap = countQ - countP;}else {p = h1->next;q = h2->next;
寻找公共链表起始位置相关推荐
- 快慢指针判断链表中是否存在环以及查找环的起始位置
判断链表中是否有环? 使用快慢指针, 慢指针一次走一步, 快指针一次走两步, 当快慢指针相遇时,说明链表存在环 为什么快指针每次走两步而慢指针每次走一步呢? 因为slow指针和fast指针 ...
- 链表一:寻找环形链表的入口点
寻找环形链表的入口点 环形链表的入口点 1.首先怎么判断链表是否有环 (1)为什么slow走一步,fast走两步,他们一定会在环里面相遇,会不会永远追不上?请证明! (2)slow走一步,fast走3 ...
- R语言str_sub函数从字符串中提取或替换子字符串(substring):str_sub函数指定起始位置和终止位置抽取子字符、str_sub函数指定起始位置和终止位置替换子字符串
R语言str_sub函数从字符串中提取或替换子字符串(substring):str_sub函数指定起始位置和终止位置抽取子字符.str_sub函数指定起始位置和终止位置替换子字符串 目录
- java string 返回匹配正则的字符串的起始位置_Python小课堂正则表达式
Python3 正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. ...
- marquee文字起始位置_PS修图改字无痕扫描件复印件截图文字英文日期修改:制作漂亮红色丝绸文字图片的PS教程...
P图改字微信支持: 最终效果 一.打开PS软件,按Ctrl + N 新建画布,尺寸为1200 * 768像素,分辨率为72像素/英寸,如下图,然后确定. 二.选择渐变工具,颜色设置如下图,然后由中心向 ...
- Android之如何解决ScrollView起始位置不是最顶部的解决办法
最近遇到了打开带有ScrollView的页面布局默认起始位置不是最顶部的情况,最后发现问题是因为ScrollView内部嵌套了listview,只需要设置listview获取焦点为false即可. l ...
- marquee滚动起始位置_巧用喵影关键帧制作滚动水印,让视频小偷无可盗
视频创作者最奔溃瞬间,不是翻遍了所有网站还找不到合适的素材,也不是作品快完成了却发现电脑死机,而是自己呕心沥血做出来的视频被盗了,结果盗版视频的播放量还更高!! 理想的解决方法就是给视频打上水印. ...
- java string 返回匹配正则的字符串的起始位置_【Python】正则表达式
概述 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Pyth ...
- Python 查找字符串内所有字符起始位置
定义: def strfindall(zstr, xstr):"""查找字符串内所有字符起始位置\n:param zstr: 被查找的字符串容器:param xstr: ...
最新文章
- laravel auth(api)-attempt 返回false_3分钟短文:Laravel命令行参数和可选项分不清?怎么可能...
- 智能算法的应用记录一点点-----TSP 路径规划
- OSPF的RID和DR/BDR的选举
- java 注册忘记密码操作_Java实战项目(1):swing图书管理系统的登录,注册,找回密码,增删查,个人解析等...
- Homebrew--MacOSX下的套件管理器
- 用泛型实现参数化类型
- STM32F103/302 SPI3 接口使用例程
- ajax mysql项目 react_React16时代,该用什么姿势写 React ?
- 使用Vitamio打造自己的Android万能播放器(1)——准备
- Debug ASP.NET Core 2.0源代码
- windows下统一mysql编码_mysql5.7 windows7编码统一utf-8
- Exchange Server 2003 部署手册
- Spectral Bounds for Sparse PCA: Exact and Greedy Algorithms[贪婪算法选特征]
- java程序运行三步骤 理解编译
- 年度总结 | Flink 年度最佳学习路线总结
- python通信原理_用python通过原始套接字发送scapy包
- MTK 驱动开发(2)---GPIO 配置
- Spring源码系列(十二)Spring创建Bean的过程(二)
- FTP服务器异地备份文件,ftp异地备份
- 【MMDetection3D】MVXNet踩坑笔记