最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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. 移除鏈表元素的評論 (共 條)

分享到微博請遵守國家法律
静海县| 台湾省| 门源| 桃源县| 连云港市| 昌邑市| 新丰县| 九江县| 安宁市| 黄平县| 瓦房店市| 新化县| 宣城市| 武平县| 青州市| 东宁县| 重庆市| 高阳县| 长阳| 洱源县| 抚顺市| 汉中市| 开封县| 石渠县| 绥宁县| 南雄市| 班戈县| 泸溪县| 中阳县| 宁陕县| 循化| 阿拉善右旗| 鹿泉市| 安远县| 镇雄县| 东兰县| 秦皇岛市| 尼勒克县| 辉南县| 开封市| 舒兰市|