【每日刷題】Day48

【每日刷題】Day48

🥕個人主頁:開敲🍉

🔥所屬專欄:每日刷題🍍

🌼文章目錄🌼

1.?872. 葉子相似的樹 - 力扣(LeetCode)

2.?114. 二叉樹展開為鏈表 - 力扣(LeetCode)

1.?872. 葉子相似的樹 - 力扣(LeetCode)

//思路:將兩個二叉樹的葉子節點分別存入兩個數組中,使用memcmp函數比較兩個數組中的內容是否相同從而判斷兩樹是否葉子相似

bool IsLeafNode(struct TreeNode* root)

{

? ? return !root->left&&!root->right;

}


?

void GetLeafVal(struct TreeNode* root,int* arr,int* size)

{

? ? if(root==NULL)

? ? {

? ? ? ? return;

? ? }

? ? if(IsLeafNode(root))

? ? {

? ? ? ? arr[(*size)++] = root->val;

? ? ? ? return;

? ? }

? ? GetLeafVal(root->left,arr,size);

? ? GetLeafVal(root->right,arr,size);

}

bool leafSimilar(struct TreeNode* root1, struct TreeNode* root2)

{

? ? int arr1[200];

? ? int arr2[200];

? ? int size1 = 0;

? ? int size2 = 0;

? ? GetLeafVal(root1,arr1,&size1);

? ? GetLeafVal(root2,arr2,&size2);

? ? if(size1!=size2)

? ? {

? ? ? ? return false;

? ? }

? ? int ret = memcmp(arr1,arr2,sizeof(int)*size1);

? ? return ret==0;

}

2.?114. 二叉樹展開為鏈表 - 力扣(LeetCode)

//思路:先序遍歷二叉樹,將每個結點的值存入一個數組中,隨后創建新的結點存儲數組中的每個元素,從二叉樹的根節點開始,將left指針置為NULL,right指針指向下一個創建的新結點。

typedef struct TreeNode TN;


//先序遍歷存儲二叉樹結點

void GetNodeVal(TN* root,int* arr,int* size)

{

? ? if(root==NULL)

? ? {

? ? ? ? return;

? ? }

? ? arr[(*size)++] = root->val;

? ? GetNodeVal(root->left,arr,size);

? ? GetNodeVal(root->right,arr,size);

}

//創建新結點存儲數組中的元素,將結點的left置為NULL,right指向下一個創建的結點

TN* ListTree(int* arr,int size,int* num)

{

? ? if((*num)==size)

? ? {

? ? ? ? return NULL;

? ? }

? ? TN* node = (TN*)malloc(sizeof(TN));

? ? node->val = arr[(*num)++];

? ? node->left = NULL;

? ? node->right = ListTree(arr,size,num);

? ? return node;

}


?

void flatten(struct TreeNode* root)

{

? ? if(root==NULL)

? ? {

? ? ? ? return;

? ? }

? ? int arr[2001] = {0};

? ? int size = 0;

? ? GetNodeVal(root,arr,&size);

? ? int num = 1;

? ? root->left = NULL;

? ? root->right = ListTree(arr,size,&num);

}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/14719.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/14719.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/14719.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

react中怎么為props設置默認值

在React中,你可以使用ES6的類屬性(class properties)或者函數組件中的默認參數(default parameters)來定義props的默認值。 1.類組件中定義默認props 對于類組件,你可以在組件內部使用defaultProps屬性來…

如何撰寫EI會議的投稿信?

撰寫EI會議的投稿信(Cover Letter)是向會議組織者介紹你的論文和研究工作的一個重要環節。以下是撰寫投稿信的一些關鍵步驟和建議: 投稿信的結構 信頭 你的信息:包括姓名、職位、單位名稱、通訊地址、電子郵件和電話號碼。日期&am…

力扣652. 尋找重復的子樹

Problem: 652. 尋找重復的子樹 文章目錄 題目描述思路復雜度Code 題目描述 思路 1.利用二叉樹的后序遍歷將原始的二叉樹序列化(之所以利用后序遍歷是因為其在歸的過程中是會攜帶左右子樹的節點信息,而這些節點信息正是該解法要利用的東西); 2…

js積累二(web頁面實現 時間走秒)

<tr><td class"ys04"><span class"ys02">當前時間&#xff1a;</span></td><td colspan"2"><span class"showTime"></span><script>var t null;t setTimeout(time, 1000); /…

【ai】chatgpt的plugin已經廢棄

發現找不到按鈕,原來是要申請: https://openai.com/index/chatgpt-plugins/ 發現申請已經跳轉了,好像是廢棄了? 不接受新插件了,但是openai的api 是可以繼續用的。 https://openai.com/waitlist/plugins/We are no longer accepting new Plugins, builders can now create…

Windows11的這個地方暴露著你的隱私,把它關掉避免尷尬

前言 現在的電腦真的是越來越智能化&#xff01;現在有很多小伙伴都是用著Windows11的吧&#xff01;用習慣了Windows11之后&#xff0c;突然發現它還是挺順手的。 但不知道你有沒有發現&#xff0c;Windows11上面有個地方暴露著你的隱私。這個隱私可能是某個小姐姐的圖片&am…

XSS---DOM破壞

文章目錄 前言一、pandas是什么&#xff1f;二、使用步驟 1.引入庫2.讀入數據總結 一.什么是DOM破壞 在HTML中&#xff0c;如果使用一些特定的屬性名&#xff08;如id或name&#xff09;給DOM元素命名&#xff0c;這些屬性會在全局作用域中創建同名的全局變量&#xff0c;指向對…

算法:最大連續子序列和

53. 最大子數組和 給你一個整數數組 nums &#xff0c;請你找出一個具有最大和的連續子數組&#xff08;子數組最少包含一個元素&#xff09;&#xff0c;返回其最大和。 子數組是數組中的一個連續部分。 class Solution:def maxSubArray(self, nums: List[int]) -> int:a…

Vue $nextTick作?是什么怎么使用

Vue中的$nextTick是一個非常重要的方法&#xff0c;主要用于在DOM更新后執行延遲回調。其工作原理基于Vue的異步更新隊列機制。 當你在Vue實例上修改數據后&#xff0c;Vue并不會立即更新DOM&#xff0c;而是將這些修改操作推入一個隊列中&#xff0c;并在下一個事件循環的“t…

Shell | shell腳本中使用cp指令(外兩則)

sample"ENCFF253NIN" #等號兩側避免使用空格 source_path"/home/xxzhang/workplace/project/CRISPRa/Pacbio/CCS_TE.2/" target_path"./" cp "$source_path"/00-common_all.vcf.gz "$target_path" cp "$source_path&qu…

如何在Python中實現迭代器和可迭代對象

在Python中&#xff0c;可迭代對象&#xff08;iterable&#xff09;是一個對象&#xff0c;它可以返回一個迭代器&#xff08;iterator&#xff09;用于遍歷其元素。迭代器是一個對象&#xff0c;它有一個 __next__() 方法&#xff08;在Python 2中&#xff0c;它是 next() 方…

LiveGBS流媒體平臺GB/T28181用戶手冊-用戶管理:添加用戶、編輯、關聯通道、搜索、重置密碼

LiveGBS流媒體平臺GB/T28181用戶手冊-用戶管理:添加用戶、編輯、關聯通道、搜索、重置密碼 1、用戶管理1.1、添加用戶1.2、編輯用戶1.3、關聯通道1.4、重置密碼1.5、搜索1.6、刪除 2、搭建GB28181視頻直播平臺 1、用戶管理 1.1、添加用戶 添加用戶&#xff0c;可以配置登陸用戶…

STM32-按鍵控制LED

接上篇LED點亮;http://t.csdnimg.cn/9r6z7 目錄 一.硬件設計 二.軟件設計 三.完整代碼 四.結束語 一.硬件設計 按鈕接電源插入PB0引腳,如上圖所示 二.軟件設計 void key_init() {GPIO_InitTypeDef GPIO_InitStruct;//使能時鐘RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO…

【LeetCode:496. 下一個更大元素 I + 單調棧】

&#x1f680; 算法題 &#x1f680; &#x1f332; 算法刷題專欄 | 面試必備算法 | 面試高頻算法 &#x1f340; &#x1f332; 越難的東西,越要努力堅持&#xff0c;因為它具有很高的價值&#xff0c;算法就是這樣? &#x1f332; 作者簡介&#xff1a;碩風和煒&#xff0c;…

問題解決記錄1:nvidia-container-cli: initialization error: load library failed

本地docker運行 $ docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi 遇到這種報錯 Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error dur…

案例分享|Alluxio在自動駕駛模型訓練中的應用與部署

分享嘉賓&#xff1a; 楊林三-輝羲智能 關于輝羲智能&#xff1a; 輝羲智能致力打造創新車載智能計算平臺&#xff0c;提供高階智能駕駛芯片、易用開放工具鏈及全棧自動駕駛解決方案&#xff0c;運用獨創性“數據閉環定義芯片”方法學&#xff0c;助力車企構建低成本、大規模和…

百度生成數據庫

問題1&#xff1a; 幫我創建2個表student與score表&#xff0c;要求student表有id,createDate,userName,phone,age,sex,introduce&#xff0c; 要求score表有id,scoreName,result,studentId(student表的id外鍵)。 要求student表中插入5條學生信息&#xff0c;都要是中文的。 要…

docker flow

docker --version docker build -t tagname:version docker run --networknetwork --namename -p port:port imageName docker rmi docker rm docker images docker rm docker start docker stop

設計模式5——抽象工廠模式

寫文章的初心主要是用來幫助自己快速的回憶這個模式該怎么用&#xff0c;主要是下面的UML圖可以起到大作用&#xff0c;在你學習過一遍以后可能會遺忘&#xff0c;忘記了不要緊&#xff0c;只要看一眼UML圖就能想起來了。同時也請大家多多指教。 抽象工廠模式&#xff08;Abst…

每日5題Day8 - LeetCode 36 - 40

每一步向前都是向自己的夢想更近一步&#xff0c;堅持不懈&#xff0c;勇往直前&#xff01; 第一題&#xff1a;36. 有效的數獨 - 力扣&#xff08;LeetCode&#xff09; 題目要求我們進行判斷&#xff0c;我們不需要自己填寫&#xff0c;所以要一個標志位&#xff0c;來看當…