1. <dd id="erndk"></dd>
                1. 【Leetcode】NO.94 二叉樹的中序遍歷 (C++&Python) [二叉樹]

                  互聯網 2022/1/4 11:37:56

                  題目:94. 二叉樹的中序遍歷 給定一個二叉樹的根節點 root ,返回它的 中序 遍歷。 思路迭代法使用中序遍歷一直遍歷到做子樹的最底層 再pop出當前節點,之后再遍歷右子樹開辟一個棧存節點,一個數組保存節點的值 判斷節點是否為空,或者棧是否為空代碼 /*** Definition f…

                  題目:94. 二叉樹的中序遍歷

                  給定一個二叉樹的根節點 root ,返回它的 中序 遍歷。

                  思路

                  • 迭代法使用中序遍歷
                  1. 一直遍歷到做子樹的最底層
                  2. 再pop出當前節點,之后再遍歷右子樹

                  開辟一個棧存節點,一個數組保存節點的值
                  判斷節點是否為空,或者棧是否為空

                  image

                  代碼

                  /**
                   * 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:
                      vector<int> inorderTraversal(TreeNode* root) {
                          stack<TreeNode*> s;
                          vector<int> result;
                          TreeNode *cur = root;
                          while(cur!=NULL || !s.empty())
                          {
                  
                           if(cur!=NULL) //將一直遍歷到最左邊
                           {
                               s.push(cur);
                               cur = cur->left;
                           }   
                           else
                           {
                               // 把點Put
                               cur = s.top();
                               s.pop(); //將數據彈出了
                               result.push_back(cur->val);
                               cur = cur->right;
                           }
                  
                          }
                          return result;
                      }
                  };
                  
                  隨時隨地學軟件編程-關注百度小程序和微信小程序
                  關于找一找教程網

                  本站文章僅代表作者觀點,不代表本站立場,所有文章非營利性免費分享。
                  本站提供了軟件編程、網站開發技術、服務器運維、人工智能等等IT技術文章,希望廣大程序員努力學習,讓我們用科技改變世界。
                  [【Leetcode】NO.94 二叉樹的中序遍歷 (C++&Python) [二叉樹]]http://www.yachtsalesaustralia.com/tech/detail-279854.html

                  贊(0)
                  關注微信小程序
                  程序員編程王-隨時隨地學編程

                  掃描二維碼或查找【程序員編程王】

                  可以隨時隨地學編程啦!

                  技術文章導航 更多>
                  国产在线拍揄自揄视频菠萝

                        1. <dd id="erndk"></dd>