日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

#1049 : 后序遍历(二叉树,DFS)

發布時間:2024/9/3 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 #1049 : 后序遍历(二叉树,DFS) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#1049 : 后序遍歷
時間限制:10000ms
單點時限:1000ms
內存限制:256MB
描述
在參與過了美食節之后,小Hi和小Ho在別的地方又玩耍了一陣子,在這個過程中,小Ho得到了一個非常有意思的玩具——一棵由小球和木棍連接起來的二叉樹!

小Ho對這棵二叉樹愛不釋手,于是給它的每一個節點都標記了一個標號——一個屬于A…Z的大寫字母,并且沒有任意兩個節點的標號是一樣的。小Hi也瞅準了這個機會,重新鞏固了一下小Ho關于二叉樹遍歷的基礎知識~就這樣,日子安穩的過了兩天。

這天,小Ho正好在求解這棵二叉樹的前序、中序和后序遍歷的結果,但是卻在求出前序遍歷和中序遍歷之后不小心把二叉樹摔到了地上,小球和木棍等零件散落了一地!

小Ho損失了心愛的玩具,正要嚎啕大哭起來,所幸被小Hi發現了,勸說道:“別著急,這不是零件都還在么?拼起來不就是了?”

“可是我忘記了二叉樹長什么樣子了!”小Ho沮喪道。

“這個簡單,你不是剛剛求出了這棵二叉樹的前序和中序遍歷的結果么,利用這兩個信息就可以還原出整棵二叉樹來哦!”

“這樣么?!!”小Ho止住了淚水,問道:“那要怎么做呢?”

沒錯!小Ho在這一周遇到的問題便是:給出一棵二叉樹的前序和中序遍歷的結果,還原這棵二叉樹并輸出其后序遍歷的結果。

提示:分而治之——化大為小,化小為無
輸入
每個測試點(輸入文件)有且僅有一組測試數據。

每組測試數據的第一行為一個由大寫英文字母組成的字符串,表示該二叉樹的前序遍歷的結果。

每組測試數據的第二行為一個由大寫英文字母組成的字符串,表示該二叉樹的中序遍歷的結果。

對于100%的數據,滿足二叉樹的節點數小于等于26。

輸出
對于每組測試數據,輸出一個由大寫英文字母組成的字符串,表示還原出的二叉樹的后序遍歷的結果。

樣例輸入
AB
BA
樣例輸出
BA
/*
之前就做過幾道這類題,今天換了種思路寫,關鍵就是root,(下面代碼r的變化要想清楚)
*/
Ac_code:

#include <stdio.h> #include <string.h> char a[30],b[30]; int r; void DFS(int s,int e) {if(s == e){printf("%c",b[s]);r++;}else{for(int i = s; i <= e; i++){if(b[i] == a[r]){r++;DFS(s,i-1);DFS(i+1,e);printf("%c",b[i]);break;}}} } int main() {scanf("%s%s",a,b);int length = strlen(a);r = 0;DFS(0,length-1);puts("");return 0; }

總結

以上是生活随笔為你收集整理的#1049 : 后序遍历(二叉树,DFS)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。