LeetCode 872叶子相似的树-简单
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 872叶子相似的树-简单
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
請(qǐng)考慮一棵二叉樹上所有的葉子,這些葉子的值按從左到右的順序排列形成一個(gè) 葉值序列 。
舉個(gè)例子,如上圖所示,給定一棵葉值序列為 (6, 7, 4, 9, 8) 的樹。
如果有兩棵二叉樹的葉值序列是相同,那么我們就認(rèn)為它們是 葉相似 的。
如果給定的兩個(gè)頭結(jié)點(diǎn)分別為 root1 和 root2 的樹是葉相似的,則返回 true;否則返回 false 。
示例 1:
輸入:root1 = [3,5,1,6,2,9,8,null,null,7,4], root2 = [3,5,1,6,7,4,2,null,null,null,null,null,null,9,8]
輸出:true
示例 2:
輸入:root1 = [1], root2 = [1]
輸出:true
示例 3:
輸入:root1 = [1], root2 = [2]
輸出:false
示例 4:
輸入:root1 = [1,2], root2 = [2,2]
輸出:true
示例 5:
輸入:root1 = [1,2,3], root2 = [1,3,2]
輸出:false
提示:
給定的兩棵樹可能會(huì)有 1 到 200 個(gè)結(jié)點(diǎn)。 給定的兩棵樹上的值介于 0 到 200 之間。代碼如下:
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:bool leafSimilar(TreeNode* root1, TreeNode* root2) {vector<int>l1;vector<int>l2;dfs(root1,l1);dfs(root2,l2);return l1==l2;}void dfs(TreeNode *root,vector<int>&v){if (root==nullptr) return ;if (root->left==nullptr && root->right==nullptr) v.push_back(root->val);dfs(root->left,v);dfs(root->right,v);} };總結(jié)
以上是生活随笔為你收集整理的LeetCode 872叶子相似的树-简单的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 减肥期间体重没变但外形上瘦了是什么原因
- 下一篇: LeetCode 559N叉树的最大深度