1

分享

94. Binary Tree Inorder Traversal

94. Binary Tree Inorder Traversal、LeetCode、
筆記(待補,理解中)

94. Binary Tree Inorder Traversal

題目:給定二元樹的根(root),返回其節點值的遍歷。
回傳:vector<int>,節點值的遍歷
例如1:
Input:root = [1,null,2,3]
  

Output : [1,3,2]

例如2:
Input:[]
  

Output : []

例如3:
Input:[1]
  

Output : [1]

Code

  

#include <iostream>

#include <vector>

#include <stack>

using namespace std;

// 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) {}

};


vector<int> inorderTraversal(TreeNode* root) {

    vector<int> result;

    stack<TreeNode*> s;

    TreeNode *p = root;

    while(p || !s.empty()){

        while(p){

            s.push(p);

            p = p->left;

        }

        p = s.top();

        s.pop();

        result.push_back(p->val);

        p = p->right;

    }

    return result;

}

Output

  

[1,3,2]

參考資料

[1]. Binary Tree Inorder Traversal - LeetCode
[2]. [LeetCode] 94. Binary Tree Inorder Traversal 二叉树的中序遍历 - Grandyang - 博客园 (cnblogs.com)
#筆記  #leetcode 
分類:學習

【關鍵字】:新手教學、Leetcode ; 【分類】:學習、理財。(目前C++新手教學第二章內容已完結)。建議或意見可私訊:https://reurl.cc/ze7L9k。文章有錯誤的地方還請留言指正,謝謝各位

評論
上一篇
  • 88. Merge Sorted Array(C++)
  • 下一篇
  • 更多文章
    載入中... 沒有更多了