C++ 合併兩個有序單向連結串列
struct Node { Node* pNext; int val; Node(int v) { val = v; pNext = nullptr; } }; Node* MergeNodeList(Node* p1,Node*p2) { Node *pRoot,*pCur; if (p1->val < p2->val) { pRoot = p1; p1 = p1->pNext; } else { pRoot = p2; p2 = p2->pNext; } pCur = pRoot; while(p1 && p2) { if (p1->val < p2->val) { pCur->pNext = p1; p1 = p1->pNext; } else{ pCur->pNext = p2; p2 = p2->pNext; } pCur = pCur->pNext; } if (p1) pCur->pNext = p1; if (p2) pCur->pNext = p2; return pRoot; }
相關推薦
C++ 合併兩個有序單向連結串列
struct Node { Node* pNext; int val; Node(int v) { val = v; pNext = nullptr; } }; Node* MergeNodeList(Node* p1,Node*p2) { Node *pRoot,*pCur
合併兩個有序的連結串列(LeetCode第21題)
方法一: # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None clas
合併兩個有序的連結串列
將兩個有序連結串列合併為一個新的有序連結串列並返回。 新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。 示例: 輸入:1->2->4, 1->3->4 輸出:1->
LeetCode OJ 之 Merge Two Sorted Lists(合併兩個有序的連結串列)
題目: Merge two sorted linked lists and return it as a new list. The new list should be made by splici
演算法題:合併兩個有序的連結串列
說明:本文僅供學習交流,轉載請標明出處,歡迎轉載! 題目:已知有兩個有序的單鏈表,其頭指標分別為head1和head2,實現將這兩個連結串列合併的函式: Node* ListMerge(Node *head1,Node *he
【C++】合併兩個排序的連結串列,要求合併後仍然是有序的
struct ListNode { int m_nKey; ListNode m_pNext; }; ListNode* merge(ListNode* pHead1, ListNode* pHead2) { if (pHead1 == NULL) { retur
Java實現兩個有序的連結串列合併
Java實現兩個有序的連結串列合併 先實現兩個有序連結串列 程式碼如下: SingleLinkedList sll1 = new SingleLinkedList(); for (int i = 0; i < 10; i += 2) {
連結串列常用操作 單鏈表反轉 連結串列中環的檢測 兩個有序的連結串列合併 刪除連結串列倒數第 n 個結點 求連結串列的中間結點
#include <stdio.h> #include <stdlib.h> /** * 1) 單鏈表反轉 * 2) 連結串列中環的檢測 * 3) 兩個有序的連結串列合併 * 4) 刪除連結串列倒數第 n 個結點 * 5) 求連結串列的中間
《劍指offer》系列 合併兩個排序的連結串列(C++)
連結 題目描述 輸入兩個單調遞增的連結串列,輸出兩個連結串列合成後的連結串列,當然我們需要合成後的連結串列滿足單調不減規則。 思路 兩個連結串列依次比較即可 程式碼 class Solution {
將兩個有序遞增連結串列合併成一個有序遞增連結串列,要求結果仍使用原來兩個連結串列的儲存空間,不另外佔有空間。
#include<stdio.h> #include<stdlib.h> #define MAXSIZE 20; typedef struct LNode{ int data; struct LNode *next; } LNode,*
兩個有序的連結串列合併
package ZHIHU; public class Main20171009001 { /** * 輸入兩個遞增排序的連結串列,合併這兩個連結串列並使新連結串列中的結點仍然是按照遞增排序的 */ public static void main(Strin
劍指offer程式設計題python實現(第16題)合併兩個排序的連結串列
劍指offer程式設計題python實現(第16題)合併兩個排序的連結串列 題目描述 輸入兩個單調遞增的連結串列, 輸出兩個連結串列合成後的連結串列, 當然我們需要合成後的連結串列滿足單調不減規則。 '''題目描述 輸入兩個單調遞增的連結串列, 輸出兩個連結串列合成後的連結串列, 當然我們需
合併兩個排序的連結串列 java
合併兩個排序的連結串列 java 題目描述 輸入兩個單調遞增的連結串列,輸出兩個連結串列合成後的連結串列,當然我們需要合成後的連結串列滿足單調不減規則。 程式碼1: public class Solution { public ListNode Merg
【劍指Offer】14合併兩個排序的連結串列
題目描述 輸入兩個單調遞增的連結串列,輸出兩個連結串列合成後的連結串列,當然我們需要合成後的連結串列滿足單調不減規則。 時間限制:1秒;空間限制:32768K;本題知識點:連結串列 解題思路 # -*- coding:utf-8 -*- # class ListNode: #
劍指offer____合併兩個排序的連結串列
輸入兩個單調遞增的連結串列,輸出兩個連結串列合成後的連結串列,當然我們需要合成後的連結串列滿足單調不減規則。 struct ListNode { int val; struct ListNode *next
[劍指offer] --17.合併兩個排序的連結串列
題目描述 輸入兩個單調遞增的連結串列,輸出兩個連結串列合成後的連結串列,當然我們需要合成後的連結串列滿足單調不減規則。 /* public class ListNode { int val; ListNode next = null; ListNode(in
劍指offer_合併兩個排序的連結串列
題目描述 輸入兩個單調遞增的連結串列,輸出兩個連結串列合成後的連結串列,當然我們需要合成後的連結串列滿足單調不減規則。 # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): #
劍指offer——(9)合併兩個排序的連結串列
/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solutio
[劍指offer] 16. 合併兩個排序的連結串列
題目描述 輸入兩個單調遞增的連結串列,輸出兩個連結串列合成後的連結串列,當然我們需要合成後的連結串列滿足單調不減規則。 解法一: 非遞迴解 class Solution { public: ListNode *Merge(ListNode *pHe
劍指Offer16:合併兩個排序的連結串列
思路: 1.新建兩個連結串列mergeHead和p,初始值為90。 2.判斷pHead1.val和pHead2.val值的關係。 若pHead1.val>=pHead2.val,將pHead2放入mergeHead.next 然後pHead2指標往後移一步。 若pHead1.v