GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — tree-notes/11IterativePostOrderTraversalUsingTwoStack.cpp at main · coder-writes/tree-notes Expand file tree/ Copy path11IterativePostOrderTraversalUsingTwoStack.cppMore file actions 66 lines (50 loc) · 1.4 KB / Copy path11IterativePostOrderTraversalUsingTwoStack.cppFile metadata and controls66 lines (50 loc) · 1.4 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 #include <bits/stdc++.h> using namespace std; struct TreeNode { int data; struct TreeNode* left; struct TreeNode* right; TreeNode(int val) { data = val; left = NULL; right = NULL; } }; vector<int> iterativeInOrderTraversalUsingTwoStack(TreeNode* root){ vector<int> result; if(root== NULL) return result; stack<TreeNode*> st1,st2; st1.push(root); while(!st1.empty()){ root = st1.top(); st1.pop(); st2.push(root); if(root->left) st1.push(root->left); if(root->right) st1.push(root->right); } while(!st2.empty()){ result.push_back(st2.top()->data); st2.pop(); } return result; } int main(){ struct TreeNode* root = new TreeNode(2); root->left = new TreeNode(5); root->left->left = new TreeNode(4); root->left->left->left = new TreeNode(3); root->left->left->right = new TreeNode(2); root->left->right = new TreeNode(5); root->right = new TreeNode(7); root->right->left = new TreeNode(9); root->right->left->right = new TreeNode(2); root->right->left->right->right = new TreeNode(4); root->right->left->right->left = new TreeNode(1); root->right->left->left = new TreeNode(3); root->right->right = new TreeNode(7); for(auto &val: iterativeInOrderTraversalUsingTwoStack(root)){ cout<<val<<" "; } } |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |