无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

力扣:203. 移除鏈表元素

2023-03-21 17:29 作者:薄荷硬糖醬  | 我要投稿

題目:

203. 移除鏈表元素

難度簡單1198

給你一個鏈表的頭節(jié)點?head?和一個整數(shù)?val?,請你刪除鏈表中所有滿足?Node.val == val?的節(jié)點,并返回?新的頭節(jié)點?。

?

示例 1:

輸入:head = [1,2,6,3,4,5,6], val = 6輸出:[1,2,3,4,5]

示例 2:

輸入:head = [], val = 1輸出:[]

示例 3:

輸入:head = [7,7,7,7], val = 7輸出:[]

?

提示:

  • 列表中的節(jié)點數(shù)目在范圍?[0, 104]?內

  • 1 <= Node.val <= 50

  • 0 <= val <= 50

兩種做法:

第一種對法:(先處理頭指針)

注意:

  1. 判斷循環(huán)是否會操作空指針,設置好循環(huán)條件避免操作空指針

  2. 先處理頭指針,處理好之后記得跳出循環(huán)

/**

?*?Definition?for?singly-linked?list.

?*?struct?ListNode?{

?*?????int?val;

?*?????struct?ListNode?*next;

?*?};

?*/


struct?ListNode*?removeElements(struct?ListNode*?head,?int?val){

????typedef?struct?ListNode*?ListNode;

????while(head!=NULL){

????????if(head->val==val){

????????????head?=?head->next;

????????}else{

????????????break;

????????}

????}

????ListNode?p;

????p?=?head;

????while(p!=NULL&&p->next!=NULL){

????????if(p->next->val==val){

????????????p->next?=?p->next->next;

????????}else{

????????????p?=?p->next;

????????}

????}

????return?head;

}

第二種對法:(虛擬頭節(jié)點)

注意:

  1. 創(chuàng)建一個虛擬頭節(jié)點,創(chuàng)建之后還要為他分配空間(不然他就只是一個節(jié)點類型的指針而已)

/**

?*?Definition?for?singly-linked?list.

?*?struct?ListNode?{

?*?????int?val;

?*?????struct?ListNode?*next;

?*?};

?*/


struct?ListNode*?removeElements(struct?ListNode*?head,?int?val){

????typedef?struct?ListNode?ListNode;

????ListNode?*shead;

????shead?=?(ListNode*)malloc(sizeof(ListNode));

????shead->next?=?head;

????ListNode?*p?=?shead;

????while(p!=NULL&&p->next!=NULL){

????????ListNode?*temp?=?p->next;

????????if(temp->val==val){

????????????p->next?=?temp->next;

????????????free(temp);

????????}else{

????????????p?=?p->next;

????????}

????}

????head?=?shead->next;

????free(shead);

????return?head;

}


力扣:203. 移除鏈表元素的評論 (共 條)

分享到微博請遵守國家法律
金秀| 赤水市| 郑州市| 砚山县| 社会| 靖安县| 遂平县| 霍山县| 鄂伦春自治旗| 盐亭县| 淮南市| 清徐县| 黄浦区| 佛冈县| 涞水县| 慈溪市| 崇礼县| 兖州市| 延吉市| 抚州市| 瑞昌市| 陈巴尔虎旗| 千阳县| 昭苏县| 巴塘县| 大城县| 温宿县| 拉萨市| 灵宝市| 莱阳市| 同心县| 石嘴山市| 南宫市| 察隅县| 青冈县| 化隆| 崇左市| 洞头县| 双辽市| 成武县| 海安县|