合并两个有序列表的循环和递归实现
来源:互联网 发布:艾默生ups监控软件 编辑:程序博客网 时间:2024/05/23 02:22
// 方法一, 循环实现ListNode* Merge(ListNode* pHead1, ListNode* pHead2){ if(pHead1 == NULL) return pHead2; else if(pHead2 == NULL) return pHead1; ListNode* pMergedHead = NULL; ListNode* pCurNode = NULL; if(pHead1->m_nValue < pHead2->m_nValue) { pMergedHead = pHead1; pHead1 = pHead1->m_pNext; } else { pMergedHead = pHead2; pHead2 = pHead2->m_pNext; } for (pCurNode = pMergedHead; (NULL != pHead1) && (NULL != pHead2); ) { if(pHead1->m_nValue < pHead2->m_nValue) { pCurNode->m_pNext = pHead1; pCurNode = pHead1; pHead1 = pHead1->m_pNext; } else { pCurNode->m_pNext = pHead2; pCurNode = pHead2; pHead2 = pHead1->m_pNext; } } pCurNode->m_pNext = (NULL == pHead1) ? pHead2 : pHead1; return pMergedHead;}
// 方法二,递归实现ListNode* Merge(ListNode* pHead1, ListNode* pHead2){ if(pHead1 == NULL) return pHead2; else if(pHead2 == NULL) return pHead1; ListNode* pMergedHead = NULL; if(pHead1->m_nValue < pHead2->m_nValue) { pMergedHead = pHead1; pMergedHead->m_pNext = Merge(pHead1->m_pNext, pHead2); } else { pMergedHead = pHead2; pMergedHead->m_pNext = Merge(pHead1, pHead2->m_pNext); } return pMergedHead;}
阅读全文
0 0
- 合并两个有序列表的循环和递归实现
- 合并两个有序列表的循环和递归实现
- Java 非递归 和非递归方法 实现两个有序单链表的合并
- 递归实现合并两个有序链表
- 合并两个有序链表,递归实现
- 合并两个有序列表
- 合并两个有序列表
- 合并两个有序列表
- 合并两个有序单链表的递归方法
- 面试题17:合并两个有序链表,递归和非递归实现
- 链表面试题之合并有序的两个线性表-递归和非递归的方法
- 合并两个有序链表 递归和非递归的形式
- 合并两个有序链表的递归与非递归
- Python合并两个有序列表
- Python合并两个有序列表
- Python--合并两个有序列表
- 合并两个有序链表(Java递归实现)
- 实现两个有序链表的合并
- zookeeper单机模式的搭建
- spring boot 之热部署
- GlusterFS安装及集群规划
- error: “Font”: 不明确的符号
- Eureka 源码解析 —— StringCache
- 合并两个有序列表的循环和递归实现
- echarts多列柱状图求合计,并且展示在最顶端
- win redis 安装 基本操作 设置密码
- git版本控制初始
- try exception 捕获异常
- 各种语言一句话反弹shell
- Python3网络爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果
- Linxu环境下ZooKeeper的集群搭建之详细教程
- 对于电子签名、CA、证书的理解