todo:实现Morris遍历

思路1:栈式DFS
- 维护两个结构
sequence_preorder和stack_nodes,在弹栈的时候插入序列 - 后入栈的先弹栈,那么后入栈的先插入序列,所以左边的后入栈,右边的先入栈。
 - 需要脑子里面有入栈弹栈的整个流程。结合代码适当记忆。
 
代码1:
/*// Definition for a Node.class Node {public:int val;vector<Node*> children;Node() {}Node(int _val) {val = _val;}Node(int _val, vector<Node*> _children) {val = _val;children = _children;}};*/class Solution {public:vector<int> preorder(Node* root) {stack<Node*> stack_nodes;vector<int> sequence_preorder;if (root == nullptr) {return sequence_preorder;}stack_nodes.push(root);while (!stack_nodes.empty()) {Node* node_cur = stack_nodes.top();stack_nodes.pop();sequence_preorder.push_back(node_cur->val);for (int i = node_cur->children.size() - 1; i >= 0; --i) {stack_nodes.push(node_cur->children[i]);}}return sequence_preorder;}};
