对于数据结构这方面来说,重点就是二叉树的遍历等操作,所有的问题基本都是集中在这里,先说一个二叉树的循环遍历的方法:
vector<int> preOrderTraversal(TreeNode *head) { vector<int> result; const TreeNode *p; stack<const TreeNode*> s; p = head; if(p != NULL) s.push(p); while(!s.empty()) { p = s.top(); s.pop(); result.push_back(p->val); if(p->left != NULL) s.push(p->left); if(p->right != NULL) s.push(p->left); } return result; }
注意vector和stack的使用,遍历的结果放到了一个vector中,并且返回给调用函数。
时间: 2024-10-08 09:01:59