北京金方网站设计,国家信息企业公示系统全国,医药网站建设方案,wordpress付费可见牛客: BM4 合并两个排序的链表 文章目录 牛客: BM4 合并两个排序的链表题目描述题解思路题解代码 题目描述 题解思路
以链表一为主链表,遍历两条链表
若当前链表二的节点val小于当前链表一的下一个节点val,则将链表链表二的该节点连到链表一的节点的下一个,链表一的当前节点往…牛客: BM4 合并两个排序的链表 文章目录 牛客: BM4 合并两个排序的链表题目描述题解思路题解代码 题目描述 题解思路
以链表一为主链表,遍历两条链表
若当前链表二的节点val小于当前链表一的下一个节点val,则将链表链表二的该节点连到链表一的节点的下一个,链表一的当前节点往后跳,链表二的节点往后跳
若当前链表二的节点val大于当前链表一的下一个节点val,链表一的节点往后跳
若链表一的节点先遍历完毕,则将链表二接到链表一的后面
题解代码
package mainimport . nc_tools
/** type ListNode struct{* Val int* Next *ListNode* }*//*** 代码中的类名、方法名、参数名已经指定请勿修改直接返回方法规定的值即可** * param pHead1 ListNode类 * param pHead2 ListNode类 * return ListNode类
*/
func Merge( pHead1 *ListNode , pHead2 *ListNode ) (head *ListNode) {// write code hereif pHead1 nil {return pHead2}if pHead2 nil {return pHead1}if pHead1.Val pHead2.Val {head pHead2pHead2 pHead2.Nexthead.Next pHead1} else {head pHead1}for pHead1.Next ! nil pHead2 ! nil {if pHead1.Next.Val pHead2.Val {tmp : pHead2.NextpHead2.Next pHead1.NextpHead1.Next pHead2pHead2 tmp} else {pHead1 pHead1.Next}}if pHead2 ! nil {pHead1.Next pHead2}return head
}