最强解析面试题:合并两个排序的链表
Posted 魏小言
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最强解析面试题:合并两个排序的链表相关的知识,希望对你有一定的参考价值。
最强解析面试题:合并两个排序的链表
文章讲解 “ 合并两个排序的链表 ” 经典面试题,包含思路及源码,及解惑!
题目
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
思路
- 递归算法;依次比较当前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
附录
自负和自大真的是搞笑!
以上是关于最强解析面试题:合并两个排序的链表的主要内容,如果未能解决你的问题,请参考以下文章