帶你搞懂C++ LeeCode 二叉樹的中序遍歷
更新時(shí)間:2021年07月08日 09:24:16 作者:小狐貍FM
中序遍歷(LDR)是二叉樹遍歷的一種,也叫做中根遍歷、中序周游。在二叉樹中,中序遍歷首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹
一、題目





二、代碼

/**
* 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:
void Middle(TreeNode* root,vector<int> &num){//中序遍歷,左-根-右
if(!root){//當(dāng)前節(jié)點(diǎn)為空時(shí)
return;
}
Middle(root->left,num);//左
num.push_back(root->val);//根
Middle(root->right,num);//右
}
vector<int> inorderTraversal(TreeNode* root) {//因?yàn)闆]有傳入vector容器參數(shù),所以需要使用一個(gè)新的函數(shù)遍歷二叉樹將結(jié)果存入vector并返回
vector<int> num;//存儲遍歷結(jié)果
Middle(root,num);//遞歸實(shí)現(xiàn)遍歷二叉樹
return num;
}
};
總結(jié)
本篇文章就到這里了,希望能對你有所幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C#委托所蘊(yùn)含的函數(shù)指針概念詳細(xì)解析
C#中用委托這種概念實(shí)現(xiàn)了函數(shù)指針技術(shù)而已,另外.ent提供額外的安全性,當(dāng)然也損失了靈活性2013-09-09
C++ Dijkstra算法之求圖中任意兩頂點(diǎn)的最短路徑
這篇文章主要為大家詳細(xì)介紹了用C++經(jīng)典算法-Dijkstra算法求任意兩頂點(diǎn)之間的最短路徑,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
C語言實(shí)現(xiàn)歌手大獎(jiǎng)賽計(jì)分程序
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)歌手大獎(jiǎng)賽計(jì)分程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03
C++實(shí)現(xiàn)LeetCode(16.最近三數(shù)之和)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(16.最近三數(shù)之和),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
c語言中的局部跳轉(zhuǎn)及全局跳轉(zhuǎn)功能
本文介紹了C語言中的goto語句,以及如何使用setjmp和longjmp實(shí)現(xiàn)跨函數(shù)的跳轉(zhuǎn),詳細(xì)講解了setjmp和longjmp的使用方法和注意事項(xiàng),以及使用這種全局跳轉(zhuǎn)后變量狀態(tài)的不確定性,感興趣的朋友一起看看吧2024-09-09
C++實(shí)現(xiàn)LeetCode(32.最長有效括號)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(32.最長有效括號),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07

