最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Python和C++實現(xiàn)刪除鏈表的節(jié)點

 更新時間:2020年07月06日 14:41:23   作者:孔子?孟子?小柱子!  
這篇文章主要介紹了基于Python和C++實現(xiàn)刪除鏈表的節(jié)點,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

給定單向鏈表的頭指針和一個要刪除的節(jié)點的值,定義一個函數(shù)刪除該節(jié)點。

返回刪除后的鏈表的頭節(jié)點。

示例 1:

輸入: head = [4,5,1,9], val = 5

輸出: [4,1,9]

解釋: 給定你鏈表中值為 5 的第二個節(jié)點,那么在調(diào)用了你的函數(shù)之后,該鏈表應(yīng)變?yōu)?4 -> 1 -> 9.

示例 2:

輸入: head = [4,5,1,9], val = 1

輸出: [4,5,9]

解釋: 給定你鏈表中值為 1 的第三個節(jié)點,那么在調(diào)用了你的函數(shù)之后,該鏈表應(yīng)變?yōu)?4 -> 5 -> 9.

思路:

  建立一個空節(jié)點作為哨兵節(jié)點,可以把首尾等特殊情況一般化,且方便返回結(jié)果,使用雙指針將更加方便操作鏈表。

Python解法:

class ListNode:
  def __init__(self, x):
    self.val = x
    self.next = None


class Solution:
  def deleteNode(self, head: ListNode, val: int) -> ListNode:
    tempHead = ListNode(None) # 構(gòu)建哨兵節(jié)點
    tempHead.next = head

    prePtr = tempHead # 使用雙指針
    postPtr = head

    while postPtr:
      if postPtr.val == val:
        prePtr.next = postPtr.next
        break
      prePtr = prePtr.next
      postPtr = postPtr.next
    return tempHead.next

C++解法:

struct ListNode {
   int val;
   ListNode *next;
   ListNode(int x) : val(x), next(NULL) {}
 };

class Solution {
public:
  ListNode* deleteNode(ListNode* head, int val) {
    ListNode *tempHead = new ListNode(-1); // 哨兵節(jié)點,創(chuàng)建節(jié)點一定要用new!!!!!!!!!!!!!!
    tempHead->next = head;

    ListNode *prePtr = tempHead;
    ListNode *postPtr = head;

    while (postPtr) {
      if (postPtr->val == val) {
        prePtr->next = postPtr->next; // 畫圖確定指針指向關(guān)系,按照箭頭確定指向
        break;
      }
      postPtr = postPtr->next;
      prePtr = prePtr->next;
    }
    return tempHead->next;
  }
};

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python調(diào)用騰訊云實名認證接口辨別身份證真假

    python調(diào)用騰訊云實名認證接口辨別身份證真假

    這篇文章主要為大家介紹了python辨別身份真假之騰訊云身份證實名認證接口,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Python實現(xiàn)常見的幾種加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)

    Python實現(xiàn)常見的幾種加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)

    這篇文章主要介紹了Python實現(xiàn)常見的幾種加密算法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • python繪制條形圖方法代碼詳解

    python繪制條形圖方法代碼詳解

    這篇文章主要介紹了python繪制條形圖方法代碼詳解,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Pytorch中的masked_fill基本知識詳解

    Pytorch中的masked_fill基本知識詳解

    本文介紹了PyTorch中masked_fill函數(shù)的基本使用和原理,該函數(shù)接受一個輸入張量和一個布爾掩碼作為參數(shù),掩碼的形狀必須與輸入張量相同,True表示需要填充的位置,False表示保持原值
    2024-10-10
  • 詳解Python中__new__方法的作用

    詳解Python中__new__方法的作用

    Python類中有些方法名、屬性名的前后都添加__雙下畫線,這種方法、屬性通常屬于Python的特殊方法和特殊屬性。本文將聊聊構(gòu)造方法__new__實際程序的應(yīng)用場景,感興趣的可以了解一下
    2022-03-03
  • Python 數(shù)字轉(zhuǎn)化成列表詳情

    Python 數(shù)字轉(zhuǎn)化成列表詳情

    這篇文章主要介紹了Python 數(shù)字轉(zhuǎn)化成列表,主要以代碼實現(xiàn)了將輸入的數(shù)字轉(zhuǎn)化成一個列表,輸入數(shù)字中的每一位按照從左到右的順序成為列表中的一項。,需要的朋友可以參考下
    2021-11-11
  • PyCharm在win10的64位系統(tǒng)安裝實例

    PyCharm在win10的64位系統(tǒng)安裝實例

    給大家介紹一下在win10的64位系統(tǒng)中安裝PyCharm的操作過程以及需要注意的地方。
    2017-11-11
  • Python中numpy數(shù)組的維度增減方法詳解

    Python中numpy數(shù)組的維度增減方法詳解

    這篇文章主要介紹了Python中numpy數(shù)組的維度增減方法詳解,在操作數(shù)組情況下,需要按照某個軸將不同數(shù)組的維度對齊,這時候需要為數(shù)組添加維度(特別是將二維數(shù)組變成高維張量的情況下),numpy提供了expand_dims()函數(shù)來為數(shù)組增加維度,需要的朋友可以參考下
    2023-09-09
  • python基于?Web?實現(xiàn)?m3u8?視頻播放的實例

    python基于?Web?實現(xiàn)?m3u8?視頻播放的實例

    這篇文章主要介紹了python基于?Web?實現(xiàn)?m3u8?視頻播放的實例的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • python 裝飾器重要在哪

    python 裝飾器重要在哪

    這篇文章主要介紹了python 裝飾器重要在哪,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-02-02

最新評論

自贡市| 灌南县| 万全县| 黄陵县| 新巴尔虎右旗| 文安县| 丰县| 莱西市| 台前县| 志丹县| 镇雄县| 永州市| 汤原县| 文安县| 桃江县| 华安县| 都兰县| 赣榆县| 六盘水市| 汝阳县| 天祝| 金寨县| 秦皇岛市| 长顺县| 嘉义县| 靖州| 河津市| 咸丰县| 黄梅县| 健康| 渭南市| 合肥市| 乡城县| 朝阳市| 崇阳县| 玉溪市| 嘉义市| 花莲县| 宣化县| 苏尼特左旗| 哈密市|