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





二、代碼

/**
* 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){//當前節(jié)點為空時
return;
}
Middle(root->left,num);//左
num.push_back(root->val);//根
Middle(root->right,num);//右
}
vector<int> inorderTraversal(TreeNode* root) {//因為沒有傳入vector容器參數(shù),所以需要使用一個新的函數(shù)遍歷二叉樹將結(jié)果存入vector并返回
vector<int> num;//存儲遍歷結(jié)果
Middle(root,num);//遞歸實現(xiàn)遍歷二叉樹
return num;
}
};
總結(jié)
本篇文章就到這里了,希望能對你有所幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C++實現(xiàn)LeetCode(16.最近三數(shù)之和)
這篇文章主要介紹了C++實現(xiàn)LeetCode(16.最近三數(shù)之和),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-07-07
c語言中的局部跳轉(zhuǎn)及全局跳轉(zhuǎn)功能
本文介紹了C語言中的goto語句,以及如何使用setjmp和longjmp實現(xiàn)跨函數(shù)的跳轉(zhuǎn),詳細講解了setjmp和longjmp的使用方法和注意事項,以及使用這種全局跳轉(zhuǎn)后變量狀態(tài)的不確定性,感興趣的朋友一起看看吧2024-09-09
C++實現(xiàn)LeetCode(32.最長有效括號)
這篇文章主要介紹了C++實現(xiàn)LeetCode(32.最長有效括號),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-07-07

