1. 程式人生 > >(Python)# 請實現一個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果一個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的.

(Python)# 請實現一個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果一個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的.

# 請實現一個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果一個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的.
class TreeNode:
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None
class Solution:
    def isSymmetrical(self, pRoot):
        head = pRoot
        if head == None:
            return True
        # 只有一個根節點
        if head.left == None and head.right == None:
            return True
        # 不止一個根節點
        return self.judge(head.left,head.right)
    def judge(self,right,left):
        # 同時為空
        if right == None and left ==None:
            return True
        # 一個為空,另一個不為空,則認為不對稱
        if right == None or left == None:
            return False
        # 對稱結點不相等,認為錯誤
        if right.val != left.val:
            return False
        # 對稱結點相等,考慮它們的下一層結點,注意(右結點的右孩子——左結點的左孩子,右結點的左孩子——左結點的右孩子)
        if right.val == left.val:
            return self.judge(right.right,left.left) and self.judge(right.left,left.right)
        

相關推薦

Python# 實現一個函式判斷對稱注意如果一個映象同樣定義對稱的.

# 請實現一個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果一個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的. class TreeNode: def __init__(self, x): self.val = x self.lef

Faster-R-CNNPython.3: numpy.where()函式

讀程式碼時候遇到numpy.where(),費了半天勁,終於理解了,分享一下。 格式 numpy.where(condition[, x, y]) 引數 condition : array_like, bool if conditon == T

h5html5怎樣實現互動動畫開發?--淺談h5互動動畫課件的優勢

目前很多互動課件,尤其幼兒類的互動課件以動畫和互動相結合的型別居多,越來越多的教育機構發現了這種課件對於幼兒的吸引力遠大於其他型別的課件,隨著flash逐漸被市場淘汰,動畫和互動相結合的html5跨平臺課件越來越受到老師們的青睞,html5動畫互動課件具有跨平臺適應性,能夠適應目前主流的絕大部分平臺

Oracle null判斷並替換空值 ORACLE中DECODE的用法例子 Oracle的NVL函式用法 ISNULL(), NVL(), IFNULL() and COALESCE() 函式替換空值

  可用 NVL(), IFNULL() ,COALESCE(),DECODE() 函式 1.NVL() 從兩個表示式返回一個非 null 值。語法NVL(eExpression1, eExpression2)引數eExpression1, eExpression2 如果 eExpressio

實現一個函式判斷字串是否表示數值包括整數和小數例如字串"+100","5e2","-123","3.1416"和"-1E-16"都表示數值

題目描述 請實現一個函式用來判斷字串是否表示數值(包括整數和小數)。例如,字串"+100","5e2","-123","3.1416"和"-1E-16"都表示數值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。 /* 思路:需要滿足一下規則(正則表

實現一個函式判斷字串是否表示數值包括整數和小數例如字串"+100","5e2","-123","3.1416"和"-1E-16"都表示數值 但是"12e",&quo

package com.java.jie; public class test2 { public static void main(String [] args) { } public boolean isNumeric(char[] str) {

使用迭代查詢一個list中最小和最大值並返回一個tuplePython

from collections import Iterable, Iterator def g(): yield 1 yield 2 yield 3 print('Iterable? [1, 2, 3]:', isinstance(

python給定一個整數陣列和一個目標值找出陣列中和目標值的兩個數--演算法

1、使用最容易理解的遍歷陣列進行查詢 def solution(nums,target): #如果列表長度小於2,則直接結束 if len(nums) < 2: return #兩次迴圈列表,分別對列表中的所有可

python輸入一個三位數以上的整數輸出百位以上的數字

例如使用者輸入1234,則程式輸出12 如果本題目幫助到了你,請點個贊再走,嘿嘿!! x=input('請輸入一個三位以上的數') x=int(x) if 0<x<99:

【劍指Offer-字串】實現一個函式判斷字串是否表示數值包括整數和小數

題目 請實現一個函式用來判斷字串是否表示數值(包括整數和小數)。例如,字串”+100”,”5e2”,”-123”,”3.1416”和”-1E-16”都表示數值。 但是”12e”,”1a3.14”,”1.2.3”,”+-5”和”12e+4.3”都不是。 輸

自己實現knn進行圖片分類python

資料集下載 這是斯坦福課程的作業,根據大綱裡面assignment1內的提示,下載好實驗所需要的資料集。 目錄 前言: 程式碼主體: part1 資料的匯入以及預處理 part2 knn訓練以及預測 具體實現 3.1 資料匯入 3.2 計算dist(三種實現,由易

製作英文學習詞典編寫程式製作英文學習詞典詞典有3個基本功能:新增、查詢和退出程式讀取原始檔路徑下的txt格式詞典檔案若沒有就建立一個Python

以下路徑可更換為你自己的路徑,本程式採用Python語言大致實現了serach()查詢函式和add()新增函式。細節有待完善,謝謝 def search(): w=input("請輸入要查詢的單詞:") fr=open("C:\\Users

Android Multimedia實戰MediaProjection實現截圖與MediaMuxer實現錄屏MP4Gif格式

MediaProjection可以用來捕捉螢幕,具體來說可以擷取當前螢幕和錄製螢幕視訊 (5.0以上) 先總結下系統是如何實現組合鍵截圖的: 都應該知道Android原始碼中對按鍵的捕獲位於檔案PhoneWindowManager.java中 當滿足按鍵

Android RecyclerView (四)總結-並且實現下拉重新整理資料上拉載入資料功能

我們使用的程式碼還是為以前文章寫的。 這一次我們主要實現的是下拉重新整理資料,和上拉載入資料,這裡我都用Thread.sleep(xxx)的方法來模擬獲取資料等待。 首先我們下拉重新整理的時候要用到: SwipeRefreshLayout 來看一下如何在

雜湊變形—點陣圖給定40億個重複的無符號數整數沒排過序一個無符號整數如何快速判斷個數是否在這40億個數中

#include<stdio.h> #include<stdlib.h> #include<assert.h> #include<string.h> typedef struct BitMap { size_t* _bits

使用 Spark ML + Jieba + Pandas 實現一個疾病智慧診功能Python

一、前言 電子病歷,很多市中心醫院都在使用,卻很少有人將其中的資料用於機器學習,以達到智慧診斷的功能 本文對此做了一個實戰案例。 二、可行性分析 1、功能介紹: 使用者輸入個人身體特徵的資訊,機器返回最可能的得出的疾病型別及其可能性 %。 2、分析: ① 使用

微博登入介面解析python第三方登入做準備

理解第三方登入的流程: 使用者向本地應用商城發起請求,我要用微博進行登入 我們的商城湊一個url讓使用者跳轉到第三方應用的url(微博的登入頁面) 使用者在該介面點選輸入使用者名稱密碼之後,點選授權。 微博有個回撥url指向我們的應用。 我們的應用就可以獲取到

編寫一個學生管理系統程式記錄學生的資訊包括姓名、年齡、性別、學號、分數提供增加、刪除、查詢學生資訊的入口

剛抽到這題的時候沒在意,但是真正做起來的時候,才覺得這題對於零基礎的人來說是十分的困難。首先從題目的字數來看題目字數已經不少,其次看了幾遍題目之後還是無從下手。不管你們覺得難不難,反正對於零基礎的我來說,不是一個難字可以了得。最後只能找資料來尋求一些思路,看了一些這樣的帖子

Pat乙級1025題——反轉連結串列Python一個非零返回一個執行超時

注意 注意如果上一次有反轉,那麼要將上一次最後一個數據的next改成本次反轉後的開始的地址 程式碼測試結果為21分,出現一個非零返回,一個執行超時 #!/usr/bin/python # -*- coding: UTF-8 -*- def rever