本題屬於一道水題,但有幾個地方地思想還是值得好好體會,一是在合併時採用帶頭結點的鍊錶避免討論新鍊錶的頭的指向問題,二是相對於網上其他的題解來說,本題解更加簡潔。歡迎各位交流學習。
#include
#include
typedef
struct list
node,
* list;
list read
(void);
list merge
(list s1,list s2)
;void
print
(list s3)
;int
main()
list read
(void
)else
scanf
("%d"
,&i);}
return head;
}list merge
(list s1,list s2)
else
} r-
>next = a? a: b;
return s3;
}void
print
(list s3)
}
PTA 7 51 兩個有序鍊錶序列的合併 C語言
輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用 1表示序列的結尾 1不屬於這個序列 數字用空格間隔。在一行中輸出合併後新的非降序鍊錶,數字間用空格分開,結尾不能有多餘空格 若新鍊錶為空,輸出null。1 3 5 1 2 4 6 8 10 11 2 3 4 5 6 8 10 如下 inc...
pta兩個有序鍊錶的合併 21 合併兩個有序鍊錶
分別遍歷兩個鍊錶,把數放到列表中,運用sort方法。再用尾插法,遍歷列表,建立新的有序鍊錶。class solution def mergetwolists self,l1 listnode,l2 listnode listnode sum def list2num node while node ...
7 51 兩個有序鍊錶序列的合併 20分
已知兩個非降序鍊錶序列s1與s2,設計函式構造出s1與s2合併後的新的非降序鍊錶s3。輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用 1表示序列的結尾 1不屬於這個序列 數字用空格間隔。在一行中輸出合併後新的非降序鍊錶,數字間用空格分開,結尾不能有多餘空格 若新鍊錶為空,輸出null。...