Leetcode 之Binary Tree Preorder Traversal(42)
树的先序遍历。定义一个栈,先压入中间结点并访问,然后依次压入右、左结点并访问。
vector<int> preorderTraversal(TreeNode *root) { vector<int> result; stack<TreeNode *>s; TreeNode *p; p = root; s.push(p); while (!s.empty()) { p = s.top(); result.push_back(p->val); if (p->right != nullptr)s.push(p->right); if (p->left != nullptr)s.push(p->left); } return result; }