题目:存在这样一种情况,如果两个单词有相同的后缀,那我们可以将后缀作为公共部分存储,比如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;

寻找公共链表起始位置相关推荐

  1. 快慢指针判断链表中是否存在环以及查找环的起始位置

    判断链表中是否有环?    使用快慢指针, 慢指针一次走一步, 快指针一次走两步, 当快慢指针相遇时,说明链表存在环 为什么快指针每次走两步而慢指针每次走一步呢?    因为slow指针和fast指针 ...

  2. 链表一:寻找环形链表的入口点

    寻找环形链表的入口点 环形链表的入口点 1.首先怎么判断链表是否有环 (1)为什么slow走一步,fast走两步,他们一定会在环里面相遇,会不会永远追不上?请证明! (2)slow走一步,fast走3 ...

  3. R语言str_sub函数从字符串中提取或替换子字符串(substring):str_sub函数指定起始位置和终止位置抽取子字符、str_sub函数指定起始位置和终止位置替换子字符串

    R语言str_sub函数从字符串中提取或替换子字符串(substring):str_sub函数指定起始位置和终止位置抽取子字符.str_sub函数指定起始位置和终止位置替换子字符串 目录

  4. java string 返回匹配正则的字符串的起始位置_Python小课堂正则表达式

    Python3 正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. ...

  5. marquee文字起始位置_PS修图改字无痕扫描件复印件截图文字英文日期修改:制作漂亮红色丝绸文字图片的PS教程...

    P图改字微信支持: 最终效果 一.打开PS软件,按Ctrl + N 新建画布,尺寸为1200 * 768像素,分辨率为72像素/英寸,如下图,然后确定. 二.选择渐变工具,颜色设置如下图,然后由中心向 ...

  6. Android之如何解决ScrollView起始位置不是最顶部的解决办法

    最近遇到了打开带有ScrollView的页面布局默认起始位置不是最顶部的情况,最后发现问题是因为ScrollView内部嵌套了listview,只需要设置listview获取焦点为false即可. l ...

  7. marquee滚动起始位置_巧用喵影关键帧制作滚动水印,让视频小偷无可盗

    视频创作者最奔溃瞬间,不是翻遍了所有网站还找不到合适的素材,也不是作品快完成了却发现电脑死机,而是自己呕心沥血做出来的视频被盗了,结果盗版视频的播放量还更高!! ​理想的解决方法就是给视频打上水印. ...

  8. java string 返回匹配正则的字符串的起始位置_【Python】正则表达式

    概述 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Pyth ...

  9. Python 查找字符串内所有字符起始位置

     定义: def strfindall(zstr, xstr):"""查找字符串内所有字符起始位置\n:param zstr: 被查找的字符串容器:param xstr: ...

最新文章

  1. laravel auth(api)-attempt 返回false_3分钟短文:Laravel命令行参数和可选项分不清?怎么可能...
  2. 智能算法的应用记录一点点-----TSP 路径规划
  3. OSPF的RID和DR/BDR的选举
  4. java 注册忘记密码操作_Java实战项目(1):swing图书管理系统的登录,注册,找回密码,增删查,个人解析等...
  5. Homebrew--MacOSX下的套件管理器
  6. 用泛型实现参数化类型
  7. STM32F103/302 SPI3 接口使用例程
  8. ajax mysql项目 react_React16时代,该用什么姿势写 React ?
  9. 使用Vitamio打造自己的Android万能播放器(1)——准备
  10. Debug ASP.NET Core 2.0源代码
  11. windows下统一mysql编码_mysql5.7 windows7编码统一utf-8
  12. Exchange Server 2003 部署手册
  13. Spectral Bounds for Sparse PCA: Exact and Greedy Algorithms[贪婪算法选特征]
  14. java程序运行三步骤 理解编译
  15. 年度总结 | Flink 年度最佳学习路线总结
  16. python通信原理_用python通过原始套接字发送scapy包
  17. MTK 驱动开发(2)---GPIO 配置
  18. Spring源码系列(十二)Spring创建Bean的过程(二)
  19. FTP服务器异地备份文件,ftp异地备份
  20. 【MMDetection3D】MVXNet踩坑笔记

热门文章

  1. iOS事件机制,以及不同手势使用touchesBegan等表现形式
  2. C++类中的枚举类型
  3. MFC多线程失败:Create Instance failed
  4. mysql5.6免安装配置(菜鸟版)
  5. initrd的启动过程
  6. u盘装xp/win7/ubuntu/fedora总结
  7. Linux 常见问题 1000 个详细解答
  8. 用jQuery实现简单的加入收藏页面的功能
  9. LeetCode--75.颜色分类(三路快排,计数排序)
  10. 常用的优化方法-梯度下降、牛顿法、坐标下降法