題目給定一個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明:葉子節點是指沒有子節點的節點。示例:給定二叉樹[3,9,20,null,null,15,7],3/920/157返回它的最大深度3。思路BFS廣度優先搜索,使用雙端隊列deque(因為性能比另外兩種Queue好得多),在大循環內對二叉樹的每個層做一次遍歷,range(len(queue))使只遍歷當前的層,每次大循環ans加1。由于每個節點僅訪問一次,所以時間
系統 2019-09-27 17:56:23 1998
python的pickle模塊實現了基本的數據序列和反序列化。通過pickle模塊的序列化操作我們能夠將程序中運行的對象信息保存到文件中去,永久存儲;通過pickle模塊的反序列化操作,我們能夠從文件中創建上一次程序保存的對象。基本接口:pickle.dump(obj,file,[,protocol])注解:將對象obj保存到文件file中去。protocol為序列化使用的協議版本,0:ASCII協議,所序列化的對象使用可打印的ASCII碼表示;1:老式的
系統 2019-09-27 17:56:17 1998
數據庫的安裝和連接PyMySQL的安裝pipinstallPyMySQLpython連接數據庫importpymysqldb=pymysql.connect("數據庫ip","用戶","密碼","數據庫")#打開數據庫連接cursor.execute("SELECTVERSION()")#使用execute()方法執行SQL查詢data=cursor.fetchone()#使用fetchone()方法獲取單條數據print("Databaseversion
系統 2019-09-27 17:56:03 1998
模塊內部封裝了很多實用的功能,有時在模塊外部調用就需要將其導入。常見的方式有如下幾種:1.import>>>importsys>>>sys.path['','C:\\Python34\\Lib\\idlelib','C:\\Windows\\system32\\python34.zip','C:\\Python34\\DLLs','C:\\Python34\\lib','C:\\Python34','C:\\Python34\\lib\\site-pack
系統 2019-09-27 17:55:57 1998
本文實例講述了python裝飾器常見使用方法。分享給大家供大家參考,具體如下:python的裝飾器,可以用來實現,類似springAOP類似的功能。一樣可以用來記錄某個方法執行前做什么,執行后做什么,或者用來記錄日志,運行的時間等,更有甚者,用這個來做權限攔截,也未嘗不可。從兩個方面來描述python的裝飾模式:1.對普通方法的裝飾2.對在class類中的方法的裝飾,不需要給參數的情況3.對在class類中的方法的裝飾,需要給參數的情況一,對普通方法的裝飾
系統 2019-09-27 17:55:42 1998
認識模塊對于模塊,在前面的一些舉例中,已經涉及到了,比如曾經有過:importrandom(獲取隨機數模塊)。為了能夠對模塊有一個清晰的了解,首先要看看什么模塊,這里選取官方文檔中對它的定義:復制代碼代碼如下:AmoduleisafilecontainingPythondefinitionsandstatements.Thefilenameisthemodulenamewiththesuffix.pyappended.Withinamodule,themo
系統 2019-09-27 17:55:19 1998
上一章我們介紹了python中的列表,本章介紹其余三種數據結構:字典、集合和元組。1、字典字典有兩個特點:其一,字典是由大括號{}包圍的;其二,字典的每一個元素的模式都是“鍵:值”,而不是“鍵=值”,兩個元素之間用逗號,隔開。注意,字典初始化的順序不會保持,在初始化后,再次查看字典時,元素順序可能變化。一般訪問字典的數據時,使用中括號記法,中括號中是鍵,使用鍵來訪問其關聯的數據值。python字典的底層是一個大小可變的散列表。空字典的初始化就是一個空的大括
系統 2019-09-27 17:54:55 1998
原文鏈接:https://zhuanlan.zhihu.com/p/35179605(現在人工智能非常火爆,很多朋友都想學,但是一般的教程都是為博碩生準備的,太難看懂了。最近發現了一個非常適合小白入門的教程,不僅通俗易懂而且還很風趣幽默。所以忍不住分享一下給大家。點這里https://www.cbedai.net/ialexanderi可以跳轉到教程。)鏈接:https://zhuanlan.zhihu.com/p/35179605前言關于網絡IO,同步,
系統 2019-09-27 17:54:54 1998
Python的切片是特別常用的功能,主要用于對列表的元素取值。使用切片也會讓你的代碼顯得特別Pythonic。切片的主要聲明如下,假設現在有一個list,命名為alist:alist=[0,1,2,3,4]切片語法的基本形式為:alist[start:stop:step]可以看出對于列表的切片操作有三個參數,分別為:start:起始位置stop:終止位置step:步長三個參數都是可選參數,意義為list的下標,即index。step參數默認值為1。表現形式
系統 2019-09-27 17:54:32 1998
Python面向對象編程——基本語法一、類的語法上一節最后的代碼其實有問題,屬性名字和年齡都寫死了,想傳名字傳不進去。classPerson(object):def__init__(self,name,age):self.name=nameself.age=agep=Person("Alex",22)print(p.name,p.age)為什么有__init__?為什么有self?此時的你一臉蒙逼,相信不畫個圖,你的智商是理解不了的!畫圖之前,你先注釋掉這
系統 2019-09-27 17:54:00 1998