剑指offer 合并链表
来源:互联网 发布:七天网络www7netcc查分 编辑:程序博客网 时间:2024/05/29 04:49
合并排序好的两个链表,同样需要注意一下问题:
- 代码鲁棒性(对NULL等特殊输入有对应)
- 代码正确性(没有链表断裂的情况)
- 对于链表的大量指针操作,一定要将指针的命名对应其意义,尽量不出错
- 合并链表还可以用递归的方式进行
#include <iostream> #include <string> #include <vector> #include <stack>using namespace std; typedef int datatype;struct Node{datatype value;Node* Next_Node;};//合并链表//确定是从大到小还是从小到大?(从小打大)Node* Reverse_List(Node* ListHead1,Node *ListHead2){//特殊输入考虑if (ListHead1 == nullptr || ListHead2 == nullptr){return nullptr;}if (ListHead1 == nullptr && ListHead2 != nullptr){return ListHead2;}if (ListHead1 != nullptr && ListHead2 == nullptr){return ListHead1;}//临时结点生成Node* List1_temp = ListHead1;Node* List2_temp = ListHead2;Node* List3_temp = nullptr;Node* ListHead3 = nullptr;if (List1_temp->value > List2_temp->value){ListHead3 = List2_temp;List2_temp = List2_temp->Next_Node;}else{ListHead3 = List1_temp;List1_temp = List1_temp->Next_Node;}ListHead3->Next_Node = List3_temp;while (List1_temp->Next_Node != nullptr && List2_temp->Next_Node != nullptr){if (List1_temp->value > List2_temp->value){List3_temp = List2_temp;List2_temp = List2_temp->Next_Node;}else{List3_temp = List1_temp;List1_temp = List1_temp->Next_Node;}}return ListHead3;}void main() { system("pause");}
阅读全文
1 0
- 剑指offer-合并链表
- 剑指offer 合并链表
- 剑指offer--合并两个递增链表
- 剑指Offer-17-合并有序链表
- 剑指offer-合并排序链表
- 剑指offer----合并两个有序链表
- 剑指offer——合并链表
- 《剑指offer》合并两个有序链表
- 剑指offer-合并两个有序链表
- 剑指offer 17-合并两个排序表的链表
- 剑指Offer之合并两个排序的链表
- 剑指offer:合并两个排序的链表
- 剑指offer:合并两个排序的链表
- 【剑指offer】Q17:合并两个排序的链表
- 剑指offer-17:合并两个排序的链表
- 剑指offer系列源码-合并两个排序的链表
- 剑指offer 面试题17 合并两个有序链表
- 剑指offer--合并两个排序的链表
- JS实现继承的几种方式
- Android解决自定义Dialog出现黑(白)框的问题
- 常用的正则大全
- spring mvc整合ireport
- java 中 += 和 =+运算的区别
- 剑指offer 合并链表
- Git-最简单的本地项目变成版本仓库,然后把内容推送到GitHub仓库
- java中抽象类与接口的关系图解
- Altium Designer PCB板设计规则的导入导出
- 设计模式_结束语
- 删除文件夹
- Linux 基本命令
- 再谈Jquery Ajax方法传递到action
- ROS/PCL条件滤波