摘要:合并兩棵二叉樹思路遇到樹問題,首先想到遞歸將的加到,返回當(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
摘要:大家在聊到二叉樹的時(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)...
摘要:然而,一棵給定的二叉搜索樹卻可以由多種不同的插入序列得到。輸出格式對每一組需要檢查的序列,如果其生成的二叉搜索樹跟對應(yīng)的初始序列生成的一樣,輸出,否則輸出。 本篇為關(guān)于樹的編程題,給出編譯器 C++(g++)的解答。主要記錄題意理解和代碼學(xué)習(xí)過程。 1 樹的同構(gòu) 題目 給定兩棵樹T1和T2。如果T1可以通過若干次左右孩子互換就變成T2,則我們稱兩棵樹是同構(gòu)的。例如圖1給出的兩棵樹就是...
摘要:文章目錄題目示例說明限制解法一分析實(shí)現(xiàn)復(fù)雜度題目給定一棵二叉樹的根節(jié)點(diǎn),請返回所有的重復(fù)子樹。示例示例輸入輸出示例輸入輸出示例輸入輸出說明來源力扣鏈接限制二叉樹中的節(jié)點(diǎn)數(shù)量在之間。 ...
摘要:原題檢查兩棵二叉樹是否在經(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ù)...
閱讀 1828·2023-04-26 02:32
閱讀 576·2021-11-18 13:12
閱讀 2459·2021-10-20 13:48
閱讀 2528·2021-10-14 09:43
閱讀 3840·2021-10-11 10:58
閱讀 3516·2021-09-30 10:00
閱讀 2943·2019-08-30 15:53
閱讀 3496·2019-08-30 15:53