传送门
牛客面试笔试必刷101题 ----------------合并两个排序的链表
题目以及解析
题目
解题代码及解析
package main
import _"fmt"
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 {head:=&ListNode{}dump:=headfor pHead1!=nil||pHead2!=nil{if( pHead1!=nil&&pHead2!=nil){if pHead1.Val < pHead2.Val {head.Next = pHead1pHead1 = pHead1.Next} else {head.Next = pHead2pHead2 = pHead2.Next}}else if(pHead1!=nil){head.Next = pHead1pHead1 = pHead1.Next}else{head.Next = pHead2pHead2 = pHead2.Next }head=head.Next}return dump.Next
}
解析:
这题依旧是一道合并链表题,题目比较简单,主要还是体现归并思想,主要还是理解归并思想的应用