題目描述
給定n個整數,從前往後刪除與m相同的結點的下乙個結點(如果被刪的結點為m則它後面的不處理)。
輸入輸入包含3行:
第一行是乙個整數n(1 <= n <= 200000),代表陣列中元素的個數。
第二行包含n個整數,代表陣列中的n個元素。每個整數之間用空格分隔;每個整數的取值在32位有符號整數範圍以內。
第三行是乙個整數m
輸出輸出只有1行:
將鍊錶內所有待刪除元素刪除以後,輸出鍊錶內的剩餘元素的值,每個整數之間用空格分隔。
樣例輸入
201 3 3 0 -3 5 6 8 3 10 22 -1 3 5 11 20 100 3 9 3
3樣例輸出
1 3 0 -3 5 6 8 3 22 -1 3 11 20 100 3 3
提示[提交][狀態]
這道題可以用陣列,正統解法是用鍊錶,不過我是用兩個陣列做的,也是很簡單的。
#include
#include
using
namespace std;
int a[
1000000
],b[
1000000]=
;int
main()
scanf
("%d"
,&m)
;for
(int i=
0;i+
1for(
int i=
0;ireturn0;
}
刪除鍊錶中的元素
1 問題描述 刪除鍊錶中等於給定值val的所有節點。給出鍊錶 1 2 3 3 4 5 3,和 val 3,你需要返回刪除3之後的鍊錶 1 2 4 5。2 實現思路 遍歷鍊錶,若值等於val,此結點刪除,否則依次檢驗。3 definition for singly linked list.struct...
刪除鍊錶中的元素
題目 刪除鍊錶中等於給定值val的所有節點。樣例 給出鍊錶1 2 3 3 4 5 3,和 val 3,你需要返回刪除3之後的鍊錶 1 2 4 5。思路 通過遍歷鍊錶找出與給定值相同的結點,如果head next的值等於val,則將head next指向head next next,繼續往下遍歷,重複...
刪除鍊錶中的元素
題目要求 刪除鍊錶中等於給定值val的所有節點。樣例 給出鍊錶 1 2 3 3 4 5 3,和 val 3,你需要返回刪除3之後的鍊錶 1 2 4 5。思路 剛開始想著用乙個指標實現,可是老是卡在這個1 1 null這個例子這裡,輸出的結果是runtime error。後面,受啟發,我為什麼不用兩個...