合併有序鍊錶 計算1加到n不用條件判斷

2021-09-30 13:45:59 字數 815 閱讀 3069

合併兩個有序鍊錶,合併以後的鍊錶依舊有序。

/*

給定兩個有序單鏈表的頭節點 head1 和 head2,請合併兩個有序鍊錶,合併後的鍊錶依然有序,並返回合併後鍊錶的頭節點。

例如:0->2->3->7->null

1->3->5->7->9->null

合併後的鍊錶為:0->1->2->3->3->5->7->7->9->null

*/非遞迴法:後續更新遞迴法

void

merge(listnode* &phead1, listnode *&phead2)

else

}ppre->_pnext = head1 == nullptr ? head2 : head1;

}

實現1+2+3…+n,要求不能使用乘除法、迴圈、條件判斷、選擇相關的關鍵字

法一:使用遞迴

#include

using

namespace

std;

int getres(int n)

int main()

法二:使用建構函式

#include

using

namespace

std;

class sum

static

int res;

static

int n;

~sum()

{}};int sum::res = 0;

int sum::n = 0;

int main()

合併有序鍊錶

將兩個有序的鍊錶合併為乙個新鍊錶,要求新的鍊錶是通過拼接兩個鍊錶的節點來生成的,即不開闢新的記憶體空間 首先,為了方便操作鍊錶,我們定義乙個dummyhead,我們遍歷兩個鍊錶,直到其中有乙個到達尾部,則停下來 在遍歷的過程中,我們將元素值小的節點依次鏈在mergerlist的後邊,最後,我們看看哪...

合併有序鍊錶

題目描述將兩個有序的鍊錶合併為乙個新鍊錶,要求新的鍊錶是通過拼接兩個鍊錶的節點來生成的。塊 listnode mergetwolists listnode l1,listnode l2 if l2 null if l1 val l2 val else listnode pre target list...

合併有序鍊錶

21.合併兩個有序鍊錶 難度簡單912收藏分享切換為英文關注反饋 將兩個公升序鍊錶合併為乙個新的公升序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4class solution def mergetwolists self...