最强解析面试题:合并两个排序的链表
Posted 魏小言
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最强解析面试题:合并两个排序的链表相关的知识,希望对你有一定的参考价值。
![](https://img-blog.csdnimg.cn/3f8693a48c354971955709da4de71de9.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6a2P5bCP6KiA,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
最强解析面试题:合并两个排序的链表
文章讲解 “ 合并两个排序的链表 ” 经典面试题,包含思路及源码,及解惑!
题目
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
思路
- 递归算法;依次比较当前node值
代码
package main
import . "nc_tools"
/*
* type ListNode struct
* Val int
* Next *ListNode
*
*/
/**
*
* @param pHead1 ListNode类
* @param pHead2 ListNode类
* @return ListNode类
*/
func Merge( pHead1 *ListNode , pHead2 *ListNode ) *ListNode
// write code here
if pHead1 == nil
return pHead2
if pHead2 == nil
return pHead1
var head *ListNode
if pHead1.Val < pHead2.Val
head = pHead1
head.Next = Merge(pHead1.Next,pHead2)
else
head = pHead2
head.Next = Merge(pHead1,pHead2.Next)
return head
附录
自负和自大真的是搞笑!
以上是关于最强解析面试题:合并两个排序的链表的主要内容,如果未能解决你的问题,请参考以下文章