洛谷——P1305 新二叉樹(新建二叉樹以及遍歷)

 

題目描述
輸入一串二叉樹,用遍歷前序打出。

輸入輸出格式
輸入格式:

?

第一行為二叉樹的節點數n。(n \leq 26n≤26)

后面n行,每一個字母為節點,后兩個字母分別為其左右兒子。

空節點用*表示

?

輸出格式:

?

前序排列的二叉樹

?

輸入輸出樣例
輸入樣例#1: 復制
6
abc
bdi
cj*
d**
i**
j**
輸出樣例#1: 復制
abdicj

#include<bits/stdc++.h>
using namespace std;struct Node{char lch = '*';//左孩子 默認為* 表示沒有char rch = '*';//右邊的孩子 
}; 
bool vis[26];//判斷有沒有出現過 遍歷的時候直接用了
bool isNotRoot[26];//判斷是不是根如果出現了還是false那么就根
Node tree[29];//void build(char root,char left,char right){vis[root-'a']=true;if(left !='*'){tree[root-'a'].lch = left; isNotRoot[left-'a'] = true;//肯定不是根了 vis[left-'a'] = true;} if(right !='*'){tree[root-'a'].rch = right;isNotRoot[right-'a'] = true;//肯定不是根了 vis[right-'a'] = true;//出現過了 
    }
}
void pre(char root){//前序遍歷 if(root=='*'){return;//如果是空的直接返回 
    }printf("%c",root);pre(tree[root-'a'].lch);pre(tree[root-'a'].rch);} 
int main(){int n = 0;scanf("%d",&n);for(int i = 0;i < n;i++){char num[4];scanf("%s",num);build(num[0],num[1],num[2]);//變成一二叉樹了 
    } for(int i = 0;i<26;i++){//找到樹根 if(vis[i]==true && isNotRoot[i]==false){pre(i+'a');break;        }}    printf("\n");return 0;
}

?

轉載于:https://www.cnblogs.com/xiaonuolen/p/10284598.html

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

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

相關文章

插槽1單通道插槽2雙通道_相機雙存儲卡插槽有什么大不了的?

插槽1單通道插槽2雙通道If you paid any attention to the launch of Canon and Nikon’s first full frame mirrorless cameras—the EOS R, Z6, and Z7— you’d have noticed that some people were pretty unhappy that they only came with a single card slot—an SD slo…

python 垃圾回收詳解

原文&#xff1a;https://zhuanlan.zhihu.com/p/31150408 總綱策略和垃圾回收系統工作內容引用計數詳解標記-清除分代收集循環引用編程應用-常見方法ex 過程詳解使用建議觸發機制參考文獻Python垃圾回收機制--完美講解&#xff08;Python vs Ruby&#xff09;Python垃圾回收機制…

Django10:Ajax介紹/發送數據/SweetAlert

Ajax 異步提交 局部刷新 發送方式 1. 瀏覽器輸入url&#xff0c;按enter get 2.a標簽href屬性 get 3.form表單 get/post 4. ajax get/post ajax 不是編程語言&#xf…

物聯網數據終端演進之道

智能手機的普及在最近幾年掀起了一股取代企業數據終端的風潮&#xff0c;但正如筆者在一年前便提到過 的&#xff0c;“智能手機難以在企業級應用中得以普及”&#xff0c;這種觀點最好的佐證便是時至今日&#xff0c;由于安全性與管理合規的需要&#xff0c;個人計算機用于企業…

mac 不能連接wi-fi_如何阻止Mac自動連接到Wi-Fi網絡

mac 不能連接wi-fiYour Mac automatically reconnects to Wi-Fi networks you’ve previously connected to. Starting with macOS High Sierra, you can now tell your Mac not to automatically connect to certain Wi-FI networks. Your Mac will remember the Wi-Fi networ…

“玩轉課堂”基本構想

1、項目背景隨著互聯網科技的高速發展&#xff0c;人們的生活、學習和工作中的許多事情都可以借助互聯網來完成&#xff0c;并且反響良好。作為學生&#xff0c;我們切身體會到&#xff0c;能夠使用網絡平臺來進行學習可以節約時間、并且十分方便&#xff1b;而在老師的角度&am…

SQLServer之分離數據庫

分離數據庫注意事項 要求具有 db_owner 固定數據庫角色中的成員資格。 可以分離數據庫的數據和事務日志文件&#xff0c;然后將它們重新附加到同一或其他 SQL Server實例。 如果要將數據庫更改到同一計算機的不同 SQL Server 實例或要移動數據庫&#xff0c;分離和附加數據庫會…

django11:自動序列化/批量插入數據/分頁器

自動序列化 借助serializers幫你自動完成序列化 from app01 import models from django.core import serializers def ab_se(request):user_queryset models.Userinfo.objects.all()#原始方法user_list []for user_obj in user_queryset:user_list.append({username:user_o…

羅漢塔最少步驟_如何以最少的步驟壓縮和密碼保護文件?

羅漢塔最少步驟If you have a large batch of files to compress and you want to add password protection to each of them, what is the simplest or quickest way to do so? Today’s SuperUser Q&A post has the answer to a curious reader’s question. 如果要壓縮…

IoTSharp中使用X509加密MQTT通訊并實現設備鑒權

IoTSharp支持MQTT協議通過 TLS 1.2 加密通訊&#xff0c; 并可以通過X509證書進行設備認證登錄。基本配置在 appsettings.Production.json中需要 指定域名&#xff0c; 并設置EnableTls為true"MqttBroker":{"DomainName":"http://demo.iotsharp.net:2…

IBM希望其“裁剪”過的Swift能夠引誘你使用BlueMix云

現在所有人都可以使用了——微軟頂尖的工程師表示&#xff0c;“呼吸新鮮的空氣吧&#xff01;” 據Stack Overflow的估計&#xff0c;Swift在最受歡迎的編程語言中排名第二&#xff0c;該語言已經出現在了IBM的BlueMix云平臺之上&#xff0c;供所有人使用。 她從今年二月份開始…

物理層、數據鏈路層、介質訪問控制子層

物理層 物理層定義了比特作為信號在信道上發送時相關的電氣、時序和其它接口&#xff0c;物理層是構建網絡的基礎。數據通信理論基礎&#xff1a;改變諸如電壓或者電流等某種物理特性的方法可用來在電線上傳輸信息&#xff0c;如果用一個以時間t為自變量的單值函數 f(t) 來表示…

如何批量刪除指定的GitHub Repos

正常情況下&#xff0c;如果需要刪除GitHub上不需要的repos&#xff0c;手動刪除的操作有點繁瑣。如果只要刪除一個還能接受&#xff0c;手動刪除多個repos就有點浪費時間了。其實我們可以通過GitHub的API接口來批量刪除不需要的repos。 將要刪除的repos按照username\repos-nam…

django12:form 組件/渲染標簽/數據校驗/鉤子函數/

基本用法 from django import forms# 自己寫一個類 class RegForm(forms.Form):username forms.CharField(min_length3,max_length8, label"用戶名")password forms.CharField(min_length3,max_length8,label"密碼")emailforms.EmailField() 1.校驗數據為…

如何快速擁有一個 Web IDE

本文將介紹如何使用 2-3 句指令在幾分鐘內創建一個 Web IDE 環境。服務器準備如何準備服務器可以參考上文 一鍵體驗 Istio&#xff0c;這里只需要一臺即可&#xff0c;示例中的服務器 IP 為&#xff1a;43.154.189.116安裝 Web IDE下載安裝工具在服務器上&#xff0c;執行以下指…

有了防火墻、IPS、WAF 還需要數據庫審計?

本文講的是 有了防火墻、IPS、WAF 還需要數據庫審計&#xff1f;&#xff0c;“我們的網絡安全系統中已經有了Web應用防火墻、網絡防火墻和IPS&#xff0c;難道還需要數據庫審計嗎&#xff1f;”很多人有這樣的疑問&#xff0c;網絡中有層層防護&#xff0c;還不能保護數據庫的…

20155339 Exp4 惡意代碼分析

20155339 Exp4 惡意代碼分析 實驗后回答問題 &#xff08;1&#xff09;如果在工作中懷疑一臺主機上有惡意代碼&#xff0c;但只是猜想&#xff0c;所有想監控下系統一天天的到底在干些什么。請設計下你想監控的操作有哪些&#xff0c;用什么方法來監控。 監控網絡連接。當某個…

Linux就該這么學---第七章(LVM邏輯卷管理器)

第七章節-LVM技術邏輯卷管理器(LVM,Logical Volume Manager)1.物理卷(PV,physical Volumn)2.卷組(VG,Volume Group)3.邏輯卷(LV,Logical Volume)基本單元[PE,Physical Extent] 物理卷處于LVM中的最底層&#xff0c;可以將其理解為物理硬盤、硬盤分區或者RAID磁盤陣列卷組建立在…

django13:Session與Cookie操作

Session與Cookie cookie 服務端保存在客戶端瀏覽器上的信息都可以教cookie 表現形式一般是k:v鍵值對&#xff08;可以多個&#xff09; 優化&#xff1a; 隨機字符串1&#xff1a;用戶1相關信息 隨機字符串2&#xff1a;用戶2相關信息 session 數據是保存在服務端 表現形…

從Windows XP升級? 這是您需要了解的Windows 7

With Windows XP reaching the end of its long support life, many businesses and individuals are avoiding Windows 8 and upgrading to Windows 7 instead. If you’re a latecomer to Windows 7, here are the basics you need to know. 隨著Windows XP使用壽命的延長&am…