考研生活day2--王道課后習題2.3.1、2.3.2、2.3.3

2.3.1

題目描述:

這題和曾經做過的LeetCode203.移除元素一模一樣,所以我們就使用LeetCode進行書寫,題目鏈接203. 移除鏈表元素 - 力扣(LeetCode)

解題思路

·大家的第一反應肯定是根據書上所學的書寫方法一樣書寫,但是書上有一種情況沒有說明,那就是如果要刪除的節點是頭節點該如何處理,這里我們就要考慮到頭結點是如何處理的

·處理頭節點可以直接對鏈表操作,也可以使用其他方法處理,在這里我提供一個方法,就是使用虛擬頭結點對頭結點操作,也就是在鏈表頭結點前定義一個虛擬頭結點,這樣就可以把頭結點當作普通節點進行處理了

·大家可能不明白我我說的意思,可以直接看代碼,就可以理解了

代碼如下:

class Solution {
public:ListNode* removeElements(ListNode* head, int val) {ListNode* dummyHead = new ListNode(0);//定義一個虛擬節點值為0dummyHead->next = head;//虛擬頭結點指向鏈表頭結點ListNode* cur = dummyHead;//定義臨時節點用于遍歷鏈表while(cur->next != NULL){if(cur->next->val == val){//書上的刪除節點操作ListNode* tmp = cur->next;cur->next = cur->next->next;delete tmp;}else{cur = cur->next;}}head = dummyHead->next;delete dummyHead;//刪除虛擬頭結點return head;}
};

2.3.2

題目描述

解題思路

1.我們在鏈表的操作中,一定要記下被操作元素的前驅結點,而后繼節點可以很輕易的得到

2.這道題和上一題沒有什么本質上的區別,我們只需要再定義一個minn變量,用于記錄下當前最小節點的前驅即可

3.所以我們只需要不斷的比較cur->next就可以了

4.再用一個臨時節點temp用于記錄cur->next即可

代碼如下:

#include <iostream>
using namespace std;typedef struct LNode
{int data;struct LNode* next;
} LNode, * LinkList;// 頭插法
void HeadInsert(LinkList& L)
{int val = 0;while (cin >> val){LNode* s = new LNode;s->data = val;s->next = L->next;L->next = s;if (cin.get() == '\n'){break;}}
}// 尾插法
void TailInsert(LinkList& L)
{int val = 0;LNode* r = L;while (cin >> val){LNode* s = new LNode;s->data = val;r->next = s;r = s;r->next = NULL;if (cin.get() == '\n'){break;}}
}// 遍歷輸出鏈表元素
void Print(LinkList L)
{LNode* p = L->next;while (p){cout << p->data << '\t';p = p->next;}cout << endl;
}void DelMinValue(LinkList& L) {LNode* p, * pre;p = L->next, pre = L;LNode* minp, * minpre;minp = p; minpre = pre;while (p) {if (p->data < minp->data) {minpre = pre;minp = p;}pre = p;p = p->next;}minpre->next = minp->next;delete minp;
}int main()
{LinkList L = new LNode;TailInsert(L);DelMinValue(L);Print(L);
}

運行結果


2.3.3

這道題也與LeetCode206.反轉鏈表一致,繼續使用LeetCode進行學習206. 反轉鏈表 - 力扣(LeetCode)

解題思路

1.可以重新定義一個鏈表,將第一個鏈表中的元素取出后,再放入新建的鏈表中,即可實現,這個方法同樣也可以借助棧進行求解

2.可以考慮使用雙指針法,不理解雙指針法的同學可以不考慮使用這個方法

代碼如下

雙指針法

class Solution {
public:ListNode* reverseList(ListNode* head) {ListNode* temp;//保存cur的下一個節點ListNode* cur = head;ListNode* pre = NULL;while(cur){temp = cur->next;// 保存一下,cur的下一個節點,因為要改變cur->nextcur->next = pre;//進行翻轉操作//更新pre和cur指針pre = cur;cur = temp;}return pre;}
};

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/37948.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/37948.shtml
英文地址,請注明出處:http://en.pswp.cn/web/37948.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【PB案例學習筆記】-26制作一個帶浮動圖標的工具欄

寫在前面 這是PB案例學習筆記系列文章的第26篇&#xff0c;該系列文章適合具有一定PB基礎的讀者。 通過一個個由淺入深的編程實戰案例學習&#xff0c;提高編程技巧&#xff0c;以保證小伙伴們能應付公司的各種開發需求。 文章中設計到的源碼&#xff0c;小凡都上傳到了gite…

爬蟲cookie是什么意思

“爬蟲 cookie”指的是網絡爬蟲在訪問網站時所使用的cookie&#xff0c;網絡爬蟲是一種自動化程序&#xff0c;用于在互聯網上收集信息并進行索引&#xff0c;這些信息可以用于搜索引擎、數據分析或其他目的。 本教程操作系統&#xff1a;Windows10系統、Dell G3電腦。 “爬蟲…

51-1 內網信息收集 - 內網資源探測

導語 在內網滲透過程中,通常需要利用各種技術來探測內網資源,為后續的橫向滲透做準備。發現內網存活的主機及其詳細信息可以幫助確定攻擊方向和潛在的漏洞。 一、基于 ICMP 發現存活主機 ICMP(Internet Control Message Protocol,因特網控制消息協議)是 TCP/IP 協議簇的…

一段式、二段式和三段式狀態機的特點及適用情況:

在FPGA設計中,狀態機的選擇主要取決于具體應用場景和設計需求。 一段式狀態機: 優點: 結構簡單,易于理解和實現占用資源少時序邏輯簡單,延遲小 缺點: 組合邏輯復雜度高可能存在毛刺問題不易于大規模狀態機的設計 適用場景: 簡單的控制邏輯狀態數量較少的場合對時序要求較…

React+TS前臺項目實戰(二十二)-- 全局常用導出組件Export封裝

文章目錄 前言Export組件1. 功能分析2. 代碼詳細注釋3. 使用方式4. 效果展示 總結 前言 今天我們來封裝一個帶導出圖標的導出組件。 Export組件 1. 功能分析 通過傳入鏈接地址&#xff0c;規定要跳轉的導出頁面&#xff0c;或是直接通過鏈接導出數據 2. 代碼詳細注釋 // /c…

虛擬環境管理

虛擬環境 在使用 Python 時我們一般使用“pip install 第三方包名”來安裝第三方包&#xff0c;但是由于pip的特性&#xff0c;系統只能安裝每個包的一個版本。而在實際開發中&#xff0c;可能同時開發多個項目&#xff0c;如&#xff1a;上圖有三個項目&#xff1b;每個項目需…

django學習入門系列之第三點《BootSrap初了解》

文章目錄 初識BootStrap往期回顧 初識BootStrap BootSrap是什么&#xff1f; 是別人幫我們已寫好的CSS樣式&#xff0c;我們如果想要使用這個BootSrap&#xff1a; 下載BootStrap使用 在頁面上引入BootStrap編寫HTML時&#xff0c;按照BootStrap的規定來編寫 自定制 官網&…

【UE5.1】Chaos物理系統基礎——02 場系統的應用

目錄 步驟 一、運用臨時場&#xff08;外部張力&#xff09;破裂幾何體集 二、使用構造場固定幾何體集 步驟 在上一篇中&#xff08;【UE5.1】Chaos物理系統基礎——01 創建可被破壞的物體&#xff09;我們已經創建了可被破碎的幾何體集&#xff0c;在最后我們防止幾何體集…

微信小程序簡歷Demo

微信小程序簡歷Demo 使用介紹最后獲取源碼 bilibili視頻介紹 使用介紹 使用微信小程序實現的一個簡歷實現Demo 拖動馬里奧&#xff0c;到指定Name下方 向上頂就可以顯示對應的簡歷樣式 點擊頭像可撥打電話 點擊信息處可顯示當前位置 最后 這是一個簡單并且有趣的微信小程…

Renesas MCU使用SCI_I2C驅動OLED

目錄 概述 1 軟硬件 1.1 軟件版本信息 1.2 OLED屏幕 1.2.1 OLED簡介 1.2.2 SSD1306介紹 1.2.3 0.9寸OLED模塊介紹 2 FSP配置項目 2.1 配置項目參數 2.2 生成項目文件架構 3 代碼實現 3.1 I2C的庫函數 3.1.1 R_SCI_I2C_Open() 3.1.2 R_SCI_I2C_Read() 3.1.3 R_SCI_…

谷粒商城篇章10 -- P262-P291/P295-P310 -- 訂單服務(支付)【分布式高級篇七】

目錄 1 頁面環境搭建 1.1 靜態資源上傳到nginx 1.2 SwitchHosts增加配置 1.3 網關配置 1.4 訂單模塊基礎配置 1.4.1 引入 thymeleaf 依賴 1.4.2 application.yml配置 1.4.3 bootstrap.properties配置 1.4.4 開啟nacos注冊發現和遠程調用 1.5 修改各個頁面的靜態資源路…

windows電腦開發ios的p12證書申請流程

很多同學在做ios打包的時候&#xff0c;發現ios打包需要一個p12格式的證書和一個證書profile文件&#xff0c;那么ios開發就一定需要使用mac電腦來申請ios證書嗎&#xff1f;其實申請ios證書并不一定需要mac電腦&#xff0c;因為證書是一個通用的技術&#xff0c;使用普通的ssl…

Perl 語言開發(二):變量與數據類型

目錄 1. 變量的基本概念 1.1 標量變量 1.2 數組變量 1.3 哈希變量 2. 數據類型詳解 2.1 標量數據類型 2.1.1 數字 2.1.2 字符串 2.2 數組數據類型 2.2.1 數組操作 2.3 哈希數據類型 2.3.1 哈希操作 3. 變量的作用域與生存期 3.1 全局變量 3.2 局部變量 3.3 詞法…

JavaScript將參數傳遞給事件處理程序

本篇文件我們將實現導航欄中&#xff0c;選中時候&#xff0c;會將您選中的進行高亮顯示&#xff1b; ● 首先我們來獲取我們想要的HTML元素 const nav document.querySelector(.nav);● 接著我們來寫選中的高亮顯示 nav.addEventListener(mouseover, function (e) { //鼠…

主干網絡篇 | YOLOv5/v7 更換主干網絡之 ShuffleNetv2 | 高效CNN架構設計的實用指南

主干網絡篇 | YOLOv5/v7 更換主干網絡之 ShuffleNetv2 | 高效CNN架構設計的實用指南 1. 簡介 近年來&#xff0c;深度卷積神經網絡&#xff08;CNN&#xff09;在圖像識別、目標檢測等領域取得了巨大進展。然而&#xff0c;隨著模型復雜度的不斷提升&#xff0c;模型訓練和部…

申請一張含100個域名的證書-免費SSL證書

挑戰一下&#xff0c;申請一張包含100個域名的證書 首先&#xff0c;我們訪問來此加密網站&#xff0c;進入登錄頁面&#xff0c;輸入我的賬號密碼。 登錄后&#xff0c;咱們就可以開始申請證書&#xff0c;首先說一下&#xff0c;咱賬號是SVIP哦&#xff0c;只有SVIP才可以申…

記一次EasyExcel的錯誤使用導致的頻繁FullGC

記一次EasyExcel的錯誤使用導致的頻繁FullGC 一、背景描述二、場景復現三、原因分析四、解決方案五、思考復盤 一、背景描述 繁忙的校招結束了&#xff0c;美好的大學四年也結束了&#xff0c;作者也有10個月沒有更新了。拿到心儀的offer之后也開始了苦B的打工生活。 最近接到…

Python海量數據處理腳本大集合:pyWhat

pyWhat&#xff1a;精簡海聯數據&#xff0c;直達數據弱點要害- 精選真開源&#xff0c;釋放新價值。 概覽 pyWhat是Github社區上一款比較實用的開源Python腳本工具。它能夠快速提取信息中的 IP 地址、郵箱、信用卡、數字貨幣錢包地址、YouTube 視頻等內容。當你遇到了一串莫名…

【golang】go mod私有倉庫配置

文章目錄 Golang版本控制go mod使用私有倉庫(gitlab)依賴設置配置代碼托管站點Go mod尋找代碼倉庫原理使用代理實現代碼托管站點訪問 Golang版本控制 go version v1.22.0 當我們新建一個go項目時&#xff0c;在項目根目錄下執行go mod init可以初始化go.mod文件用于管理包依賴。…

Spring Data與多數據源配置

Spring Data與多數據源配置 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01;今天我們來探討如何在Spring Data中配置和使用多個數據源。 在現代應用程序中&…