左神的书——《程序员代码面试指南》之打印两个有序链表的公共部分 c++实现
来源:互联网 发布:金山数据恢复安卓版 编辑:程序博客网 时间:2024/06/08 01:07
题目:
//给定两个有序链表的头指针head1和head2,打印两个链表的公共部分。
//思路:
//因为是有序表,所以从两个链表的头开始进行如下判断:
//如果head1->value < head2->value 则head1向下移动。
//如果head2->value < head1->value 则head2向下移动。
//如果head1->value == head2->value 则打印出这个value,head1和head2一起向下移动。
//head1和head2任何一个为空,则停止移动。
#include <iostream>using namespace std ;#include <cassert>struct Node{int value;struct Node * Next;Node(int data):value(data),Next(NULL) { }};void PrintCommonPart(Node *pHead1, Node *pHead2){assert(pHead1 && pHead2);Node *pCur1 = pHead1;Node *pCur2 = pHead2;while (pCur1 != NULL && pCur2 != NULL){if (pCur1->value < pCur2->value){pCur1 = pCur1->Next;}else if (pCur1->value > pCur2->value){pCur2 = pCur2->Next;}else{cout << pCur2->value << " ";pCur1 = pCur1->Next;pCur2 = pCur2->Next;}}}int main5(){//这里只是单纯的分配节点,不释放节点,要不然篇幅太长了。毕竟节点的分配和释放不是重点。Node *n1 = new Node(1);Node *n2 = new Node(5);Node *n3 = new Node(8);Node *n4 = new Node(9);Node *n5 = new Node(12);Node *n6 = new Node(15);Node *pHead1 = n1;n1->Next = n2;n2->Next = n3;n3->Next = n4;n4->Next = n5;n5->Next = n6;Node *n11 = new Node(3);Node *n12= new Node(4);Node *n13= new Node(5);Node *n14= new Node(7);Node *n15= new Node(9);Node *n16= new Node(11);Node *pHead2 = n11;n11->Next = n12;n12->Next = n13;n13->Next = n14;n14->Next = n15;n15->Next = n16;PrintCommonPart(pHead1,pHead2);cout << "hello..." <<endl;system("pause");return 0;}
0 0
- 左神的书——《程序员代码面试指南》之打印两个有序链表的公共部分 c++实现
- 左神的书——《程序员代码面试指南》之逆置单链表的部分节点 c++实现
- 左神的书——《程序员代码面试指南》之逆置单链表或双链表 c++实现
- 打印两个有序链表的公共部分
- 打印两个有序链表的公共部分
- 数据结构 打印两个有序链表的公共部分
- 打印两个有序链表的公共部分
- 打印两个有序链表的公共部分
- 打印两个有序链表的公共部分
- 打印两个有序链表的公共部分
- 打印两个有序链表的公共部分
- python--打印两个有序链表的公共部分
- 打印两个有序链表的公共部分 Python 版
- 链表问题——打印两个有序链表的公共部分
- 左神的书——《程序员代码面试指南》之设计一个有getmin功能的栈 c++实现
- 左神的书——《程序员代码面试指南》之最大01子矩阵的大小 c++实现
- 左神的书——《程序员代码面试指南》之删除链表的倒数第k个节点 c++实现
- 左神的书——《程序员代码面试指南》之删除链表的中间节点或a/b节点 c++实现
- 私房菜-13章scription-简单范例
- Codeforces Round #389 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 3) F
- 虚拟机下无线网络的连接
- LAMP运行环境
- 【caffe-windows】 caffe-master 之 matlab接口配置
- 左神的书——《程序员代码面试指南》之打印两个有序链表的公共部分 c++实现
- 课程实践:大奖赛计分
- 部分软件在ubuntu14.04下的安装参考
- Fragment中含有WebView,回退按键交给WebView的处理
- MySql 学习笔记
- 个人整理的关于UITableViewCell的常用属性的知识,如有雷同,纯属巧合
- 利用openstack建设适合中小型互联网企业的私有云(五)
- c++与C#的区别
- Download Linux Kernel