中級算法之樹和圖:中序遍歷二叉樹(非遞歸)

用棧來存,先跑到最左邊,然後再依次出棧去找右邊

vector<int> inorderTraversal(TreeNode* root) {
	vector<int> res;
	stack<TreeNode*> s;
	
	TreeNode *p = root;
	while (!s.empty() || p) {
		while (p) {
            s.push(p);
			p = p->left;
		}
		TreeNode *temp = s.top();
        res.push_back(temp->val);
        s.pop();
		p = temp->right;
	}
	return res;
}
發佈了44 篇原創文章 · 獲贊 0 · 訪問量 1280
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章