女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

劍指Offer(36):兩個鏈表的第一個公共結點

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-10 22:40 ? 次閱讀

劍指Offer(36):兩個鏈表的第一個公共結點

一、引子

這個系列是我在牛客網上刷《劍指Offer》的刷題筆記,旨在提升下自己的算法能力。

二、題目

輸入兩個鏈表,找出它們的第一個公共結點。

1、思路

如果存在共同節點的話,那么從該節點,兩個鏈表之后的元素都是相同的。也就是說兩個鏈表從尾部往前到某個點,節點都是一樣的。

兩條相交的鏈表呈Y型。可以從兩條鏈表尾部同時出發,最后一個相同的結點就是鏈表的第一個相同的結點。可以利用棧來實現。時間復雜度有O(m + n), 空間復雜度為O(m + n)

2、編程實現

python

代碼實現方案:

# -*- coding:utf-8 -*-
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
class Solution:
    def FindFirstCommonNode(self, pHead1, pHead2):
        # write code here
        if not pHead1 or not pHead2:
            return None
        
        #定義一個新的棧倒敘存放兩個節點
        stack1 = []
        stack2 = []
        
        while pHead1:
            stack1.append(pHead1)
            pHead1 = pHead1.next
            
        while pHead2:
            stack2.append(pHead2)
            pHead2 = pHead2.next
            
        first = None
        while stack1 and stack2:
            top1 = stack1.pop()
            top2 = stack2.pop()
            if top1 is top2:
                first=top1
            else:
                break
        return first

分享技術,樂享生活:我們的公眾號計算機視覺這件小事每周推送“AI”系列資訊類文章,歡迎您的關注!

本文由博客一文多發平臺 OpenWrite 發布!

審核編輯 黃昊宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 人工智能
    +關注

    關注

    1804

    文章

    48737

    瀏覽量

    246664
  • 機器學習
    +關注

    關注

    66

    文章

    8492

    瀏覽量

    134122
  • 深度學習
    +關注

    關注

    73

    文章

    5555

    瀏覽量

    122498
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    鏈表結點的數據結構該如何定義

    當用戶需要使用鏈表管理數據時,僅需關聯數據和鏈表結點,最簡單的方式是將數據和鏈表結點打包在起。
    的頭像 發表于 09-20 16:28 ?1.5w次閱讀
    <b class='flag-5'>鏈表</b><b class='flag-5'>結點</b>的數據結構該如何定義

    使用兩個級聯MMCM第二是否會影響第一個MMCM的抖動?

    大家好, 如果我使用兩個級聯MMCM,第二是否會影響第一個MMCM的抖動?謝謝。最好的祝福。
    發表于 06-05 11:31

    HarmonyOS編寫第一個頁面

    編寫第一個頁面在Java UI框架中,提供了種編寫布局的方式:在XML中聲明UI布局和在代碼中創建布局。這種方式創建出的布局沒有本質上的區別,以便熟悉種方式,我們將通過XML的方
    發表于 09-17 14:34

    線性表、順序表和鏈表

    線性表、順序表和鏈表:1、線性結構的定義:空或者只有結點。或者1、存在唯
    發表于 08-13 13:51 ?0次下載

    如何編譯第一個文件

    如何編譯第一個文件,感興趣可以看看
    發表于 01-21 11:16 ?0次下載

    STM32第一個例子

    STM32第一個例子是學習RAM單片機非常好的開始
    發表于 07-14 18:14 ?0次下載

    合并兩個排序的鏈表

    合并兩個排序的鏈表、題目要求 輸入兩個單調遞增的鏈表,輸出兩個
    發表于 01-16 22:02 ?633次閱讀

    以后再也不怕別人問「單鏈表」的問題啦

    「頭指針」顧名思義,是指向鏈表第一個結點的指針,如果有頭結點的話,那么就是指向頭結點的指針。它是鏈表
    的頭像 發表于 11-23 11:30 ?2570次閱讀
    以后再也不怕別人問「單<b class='flag-5'>鏈表</b>」的問題啦

    Linux USB總線的兩個鏈表

    USB 總線引出兩個首要 的鏈表為 USB 設備
    發表于 04-20 10:33 ?1075次閱讀

    第一個STM32CubeIDE項目

    使用STM32CubeIDE的第一個項目開始第一個項目添加代碼今天開始做一個STM32CubeIDE的第一個項目,首先需要說明的:STM32CubeIDE是
    發表于 12-29 19:29 ?11次下載
    <b class='flag-5'>第一個</b>STM32CubeIDE項目

    LeetCode876鏈表的中間結點介紹

    給定結點為 head 的非空單鏈表,返回鏈表的中間結點
    的頭像 發表于 01-11 17:58 ?994次閱讀
    LeetCode876<b class='flag-5'>鏈表</b>的中間<b class='flag-5'>結點</b>介紹

    C語言入門之鏈表概述

    鏈表種常見的重要的數據結構。它是動態地進行存儲分配的種結構,是根據需要開辟內存單元。 鏈表
    的頭像 發表于 03-24 15:04 ?1451次閱讀

    鏈表數據結構基本概念

    鏈表基本概念 頭指針: 頭指針是鏈表指向第一個結點的指針,若鏈表有頭
    的頭像 發表于 07-27 11:14 ?1023次閱讀
    <b class='flag-5'>鏈表</b>數據結構基本概念

    鏈表和雙鏈表的區別在哪里

    鏈表和雙鏈表的區別 單鏈表的每一個節點中只有指向下一個結點的指針,不能進行回溯。 雙
    的頭像 發表于 07-27 11:20 ?2049次閱讀
    單<b class='flag-5'>鏈表</b>和雙<b class='flag-5'>鏈表</b>的區別在哪里

    如何判斷兩個鏈表是否相交,假設兩個鏈表都沒有環?

    首先,很多同學會存在誤區,認為兩個鏈表相交應該這樣的。
    的頭像 發表于 08-08 17:08 ?1221次閱讀
    如何判斷<b class='flag-5'>兩個</b><b class='flag-5'>鏈表</b>是否相交,假設<b class='flag-5'>兩個</b><b class='flag-5'>鏈表</b>都沒有環?