数据结构之链表:打印两个链表的公共值

原创 2016年08月28日 20:53:32
题目:

现有两个升序链表,且链表中均无重复元素。请设计一个高效的算法,打印两个链表的公共值部分。

给定两个链表的头指针headAheadB,请返回一个vector,元素为两个链表的公共部分。请保证返回数组的升序。两个链表的元素个数均小于等于500。保证一定有公共值

测试样例:
{1,2,3,4,5,6,7},{2,4,6,8,10}
返回:[2.4.6]
 
 
 
/*
struct ListNode {
    int val;
    struct ListNode *next;
    ListNode(int x) : val(x), next(NULL) {}
};*/
class Common {
public:
    vector<int> findCommonParts(ListNode* headA, ListNode* headB) {
        // write code here
        vector<int>out;
        auto pt1=headA;
        auto pt2=headB;
           //循环:pt1和pt2谁小谁移动一个单位,相等则输出且一起移动一个单位   循环边界:一直移到其中一个为null
        while(pt1!=NULL&&pt2!=NULL){
            if(pt1->val<pt2->val){
               pt1=pt1->next;
            }
            else if(pt1->val==pt2->val){
                out.push_back(pt1->val);
                pt1=pt1->next;
                pt2=pt2->next;
            }
            else{
                pt2=pt2->next;
            }
        }
        return out;
          
    }
 
};
版权声明:本文为博主原创文章,未经博主允许不得转载。

打印两个有序链表的公共部分

打印两个有序列表的公共部分import java.util.Stack;public class PrintPublicNode { public static void main(Strin...
  • lvwei1990
  • lvwei1990
  • 2015年09月27日 17:06
  • 626

数据结构 打印两个有序链表的公共部分

程序员代码面试指南(左程云)读书笔记 2-1 第二章 打印两个有序链表的公共部分 题目:    给定两个有序的链表的头指针head1和head2,打印两个链表的公共部分 解:因为...
  • qq_33323162
  • qq_33323162
  • 2016年07月21日 22:05
  • 274

题目:输入两个链表,找出它们的第一个公共结点

题目:输入两个链表,找出它们的第一个公共结点。链表的定义如下: struct ListNode {      int m_nValue;      ListNode* m_pNext; };...
  • yanxiaolx
  • yanxiaolx
  • 2016年08月05日 20:59
  • 2358

算法题5 找出两个链表的第一个公共结点

题目:两个单向链表,找出它们的第一个公共结点。 链表的结点定义为: struct ListNode {       int       m_nKey;       ListNode*   m...
  • wcyoot
  • wcyoot
  • 2011年05月17日 11:21
  • 12671

【链表】C++两个链表的公共结点

题目:(剑指offer编程题)输入两个单向链表,找出它们的第一个公共结点。 公共结点是地址相同的两个结点,也就是同一个结点,由于是单向链表,所有从公共结点之后两链表重合。 思路: 方法1:最容易想到...
  • yebanxin
  • yebanxin
  • 2016年07月17日 19:20
  • 920

数据结构之链表基本操作总结

数组与链表的区别  数组(顺序存储)和链表(链式存储)是两种不同的数据存储方式。 数组是一组具有相同类型和名称的变量的集合,这些变量称为数组的元素,每个数组元素都有一个编号,这个编号称...
  • Lily_whl
  • Lily_whl
  • 2017年05月11日 18:22
  • 1318

数据结构之链表学习心得

顺序表从节点之间的链接方式分我连续空间顺序表和链式顺序表,前者的实现就是在普通数组上做了封装,后者实现就是前一个节点保存后一个节点的地址。本文讨论的就是后者,链式顺序表的一个最明显的特征,就是在增减,...
  • liubo2011
  • liubo2011
  • 2016年05月01日 10:02
  • 633

数据结构之单链表(C++实现)

很早前就想用C++来实现那些常用的数据结构。 今天就算是个开端把。还是那句话,看的再多不如自己动手写一遍。 按照自己的思路写。首先你得熟悉那种结构的特点,然后才能谈实现。  链表是一种很常用的数...
  • complety
  • complety
  • 2012年04月08日 15:25
  • 7504

判断两个单链表是否有相同节点

/************************************************************************/ /* 两个不含环的单链表的相交 相交指的是结点的地...
  • lcalqf
  • lcalqf
  • 2016年09月16日 17:48
  • 1128

数据结构:链表(linked-list)

链表分为单向链表(Singly linked lis)、双向链表(Doubly linked list)、循环链表(Circular Linked list)。...
  • juanqinyang
  • juanqinyang
  • 2016年05月09日 11:09
  • 3284
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据结构之链表:打印两个链表的公共值
举报原因:
原因补充:

(最多只允许输入30个字)