博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指offer:合并两个排序的链表
阅读量:6861 次
发布时间:2019-06-26

本文共 1362 字,大约阅读时间需要 4 分钟。

题目描述:

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

 

解题思路:

这道题应该考察也是链表的相关操作。具体实现,新建一个新的链表,用两个指针分别指向两个链表,每次都比较两个指针指向的值,取小的加入新链表,同时当前指针后移一位。循环结束的条件为任意一个链表为空,即停止。最后做一个判断,新链表指向还没为空的单调递增链表。

 

代码:

/*struct ListNode {    int val;    struct ListNode *next;    ListNode(int x) :            val(x), next(NULL) {    }};*/class Solution {public:    ListNode* Merge(ListNode* pHead1, ListNode* pHead2)    {        if(pHead1 == nullptr)            return pHead2;        if(pHead2 == nullptr)            return pHead1;        ListNode* new_pHead, *cur1=pHead1, *cur2=pHead2, *tmp;        if(pHead1->val < pHead2->val)        {            new_pHead = pHead1;            cur1 = cur1->next;        }        else        {            new_pHead = pHead2;            cur2 = cur2->next;        }        tmp = new_pHead;        while(cur1!=nullptr && cur2!=nullptr)        {            if(cur1->val < cur2->val)            {                tmp->next = cur1;                cur1= cur1->next;            }            else            {                tmp->next = cur2;                cur2 = cur2->next;            }            tmp = tmp->next;        }        if(cur1==nullptr)            tmp->next = cur2;        else if(cur2==nullptr)            tmp->next = cur1;        else            tmp->next = nullptr;        return new_pHead;    }};

 

转载于:https://www.cnblogs.com/LJ-LJ/p/10593666.html

你可能感兴趣的文章
现有‘abcdefghijkl’12个字符,将其所有的排列按字典序进行排序,给出任意一组排列,说出这租排列在所有排列中是第几小的...
查看>>
数据结构12——哈希
查看>>
云计算简介及总结
查看>>
提高ASP.NET网站性能的方法
查看>>
这几天学习Objective的笔记
查看>>
oracle REPLACE 函数 介绍
查看>>
mybatis动态SQL标签的用法
查看>>
学习extjs的布局
查看>>
java-swing模拟实现时钟效果
查看>>
java points[复习]
查看>>
在另一个线程中无法用((CMainFrame *)AfxGetMainWnd())
查看>>
Ignatius and the Princess IV
查看>>
BC#50 1003 The mook jong
查看>>
DEDECMS中,自增长标签
查看>>
JS学习之动态加载script和style样式
查看>>
python快速入门——进入数据挖掘你该有的基础知识
查看>>
42 windows_42_Thread_WaitableTimer 线程 - 等候线程
查看>>
通过xml将传入的字符串转成表格列值
查看>>
优秀安卓开发周刊推荐——My favorite
查看>>
关于centos6上用yum安装mysql后,出现的ERROR 2002 (HY000)的解决办法
查看>>