(杂)百度实习的一道题链表逆序,合并两个有序链表
来源:互联网 发布:知不可乎骤得句式 编辑:程序博客网 时间:2024/05/18 02:19
关于链表逆序,这道题都做烂了,很多公司喜欢用这道题,昨天Baidu实习招聘就考了一条这个,回来重新写了下,这道题其实细节还是不少的,上代码
Node *reverseLinkList(Node *pHead){if (pHead==NULL||pHead->next==NULL) //细节0{return pHead;}Node *pTempFirst=pHead;Node *pTempSecond=pHead->next;pHead->next=NULL; // 细节1while(pTempSecond!=NULL) //细节2{Node *pSave=pTempSecond->next; //细节3pTempSecond->next=pTempFirst;pTempFirst=pTempSecond;pTempSecond=pSave;}return pTempFirst; //细节4}</span>
关于合并两个有序链表,确定一个新链表头,然后用这个链表头不断的在两个链表中找下一个,这样的思想,上代码
Node* mergeLinklist(Node *pHead1,Node *pHead2){if (pHead1==NULL){return pHead2;}else if (pHead2==NULL){return pHead1;}Node *pHeadNew=NULL; //这里保存一个新的头节点,以便之后作为返回值if (pHead1->nData<pHead2->nData){pHeadNew=pHead1;pHead1=pHead1->next;}else{pHeadNew=pHead2;pHead2=pHead2->next;}Node *pTemp=pHeadNew; //pTemp作为pHeadNew的copy向下递推,用pTemp->next去接下一个节点while(pHead2!=NULL&&pHead1!=NULL){if (pHead1->nData<pHead2->nData){pTemp->next=pHead1;pHead1=pHead1->next;pTemp=pTemp->next;}else{pTemp->next=pHead2;pHead2=pHead2->next;pTemp=pTemp->next;}}if (pHead1){pTemp->next=pHead1;}if (pHead2){pTemp->next=pHead2;}return pHeadNew;}
0 0
- (杂)百度实习的一道题链表逆序,合并两个有序链表
- 单链表(创建,打印,逆序,合并两个有序的链表)
- 有序的合并两个有序链表
- 链表逆序、有序合并
- 两个有序链表的合并问题
- 合并两个有序链表的算法
- 实现两个有序链表的合并
- 合并两个有序的链表
- 算法:两个有序链表的合并
- 合并两个有序的链表
- 合并两个有序的链表
- 两个有序链表的合并
- 合并两个有序的链表
- 两个有序单向链表的合并
- 实现两个有序链表的合并
- 合并两个有序的链表
- 合并两个有序的链表
- 链表------两个有序链表的合并
- UML 类图关系(继承,实现,依赖,关联,聚合,组合)
- TLD跟踪算法优化(一)并行化
- 看“调查:开发者越老越吃香吗?”
- 【Android界面实现】自定义音量调节控件的实现
- 远程数据客户端开关
- (杂)百度实习的一道题链表逆序,合并两个有序链表
- 一个简单的基类
- 用maven create创建一个项目,只看到不停在downloading,不知道下载到哪里了,%MAVEN_HOME%里什么都没有。。
- 单目摄像机标定原理(针孔模型)
- Oracle PL/SQL游标的使用方法
- 僵尸进程
- 让自己者社这位向右及帐采
- 近降语言引慢慢心里麓
- UI方案及制作细节(NGUI/EZGUI/原生UI系统)