成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

合并兩棵二叉樹

enda / 851人閱讀

摘要:合并兩棵二叉樹思路遇到樹問題,首先想到遞歸將的加到,返回當(dāng)前處理的結(jié)點(diǎn)如果為,把引用指向需要注意處理的問題代碼本題以及其它題目代碼地址地址

合并兩棵二叉樹 Merge Two Binary Trees

Given two binary trees and imagine that when you put one of them to cover the other, some nodes of the two trees are overlapped while the others are not.

You need to merge them into a new binary tree. The merge rule is that if two nodes overlap, then sum node values up as the new value of the merged node. Otherwise, the NOT null node will be used as the node of new tree.

Example 1:

Input: 
    Tree 1                     Tree 2                  
          1                         2                             
         /                        /                             
        3   2                     1   3                        
       /                                                    
      5                             4   7                  
Output: 
Merged tree:
         3
        / 
       4   5
      /     
     5   4   7

Note: The merging process must start from the root nodes of both trees.

思路

遇到樹問題,首先想到遞歸

將t2的val加到t1,返回當(dāng)前處理的t1結(jié)點(diǎn)

如果t1為null,把引用指向t2

需要注意處理null的問題

代碼
# Definition for a binary tree node.
class TreeNode(object):
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None

class Solution(object):
    def mergeTrees(self, t1, t2):
        """
        :type t1: TreeNode
        :type t2: TreeNode
        :rtype: TreeNode
        """
        if t1 is not None and t2 is not None:
            t1.val += t2.val
            t1.left = self.mergeTrees(t1.left, t2.left)
            t1.right = self.mergeTrees(t1.right, t2.right)
        elif t1 is None and t2 is not None:
            t1 = t2
        return t1

本題以及其它leetcode題目代碼github地址: github地址

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/38650.html

相關(guān)文章

  • 叉樹那些事兒

    摘要:大家在聊到二叉樹的時(shí)候,總會(huì)離不開鏈表。受限線性表主要包括棧和隊(duì)列,受限表示對結(jié)點(diǎn)的操作受限制。存儲(chǔ)結(jié)構(gòu)線性表主要由順序表示或鏈?zhǔn)奖硎尽f準(zhǔn)奖硎局傅氖怯靡唤M任意的存儲(chǔ)單元存儲(chǔ)線性表中的數(shù)據(jù)元素,稱為線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。 大家在聊到二叉樹的時(shí)候,總會(huì)離不開鏈表。這里先帶大家一起了解一些基本概念。 線性表 概念 線性表是最基本、最簡單、也是最常用的一種數(shù)據(jù)結(jié)構(gòu)。 線性表中數(shù)據(jù)元素之間的關(guān)...

    Little_XM 評論0 收藏0
  • 【數(shù)據(jù)結(jié)構(gòu)_浙江大學(xué)MOOC】第三四五講 樹

    摘要:然而,一棵給定的二叉搜索樹卻可以由多種不同的插入序列得到。輸出格式對每一組需要檢查的序列,如果其生成的二叉搜索樹跟對應(yīng)的初始序列生成的一樣,輸出,否則輸出。 本篇為關(guān)于樹的編程題,給出編譯器 C++(g++)的解答。主要記錄題意理解和代碼學(xué)習(xí)過程。 1 樹的同構(gòu) 題目 給定兩棵樹T1和T2。如果T1可以通過若干次左右孩子互換就變成T2,則我們稱兩棵樹是同構(gòu)的。例如圖1給出的兩棵樹就是...

    happyfish 評論0 收藏0
  • 【LeetCode 叉樹專項(xiàng)】尋找重復(fù)的子樹(652)

    摘要:文章目錄題目示例說明限制解法一分析實(shí)現(xiàn)復(fù)雜度題目給定一棵二叉樹的根節(jié)點(diǎn),請返回所有的重復(fù)子樹。示例示例輸入輸出示例輸入輸出示例輸入輸出說明來源力扣鏈接限制二叉樹中的節(jié)點(diǎn)數(shù)量在之間。 ...

    leejan97 評論0 收藏0
  • tweaked identical binary tree

    摘要:原題檢查兩棵二叉樹是否在經(jīng)過若干次扭轉(zhuǎn)后可以等價(jià)。扭轉(zhuǎn)的定義是,交換任意節(jié)點(diǎn)的左右子樹。等價(jià)的定義是,兩棵二叉樹必須為相同的結(jié)構(gòu),并且對應(yīng)位置上的節(jié)點(diǎn)的值要相等。樣例是扭轉(zhuǎn)后可等價(jià)的二叉樹。 原題檢查兩棵二叉樹是否在經(jīng)過若干次扭轉(zhuǎn)后可以等價(jià)。扭轉(zhuǎn)的定義是,交換任意節(jié)點(diǎn)的左右子樹。等價(jià)的定義是,兩棵二叉樹必須為相同的結(jié)構(gòu),并且對應(yīng)位置上的節(jié)點(diǎn)的值要相等。注意:你可以假設(shè)二叉樹中不會(huì)有重復(fù)...

    frontoldman 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<