欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

leetcode 144 --- 二叉树前序遍历

发布时间:2024/7/23 编程问答 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 leetcode 144 --- 二叉树前序遍历 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1 题目

求给定的二叉树的前序遍历。

2 解法

2.1 递归解法

2.2 非递归解法

前序遍历,先遍历根节点,然后遍历左节点,最后是右节点,所以用栈的方式,先是根节点入栈,然后出栈遍历,如果该节点有左右节点,那么左右节点入栈(应为右节点先入栈,然后是左节点,因为左节点先遍历,所以是左节点后入栈).

/*** struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/class Solution { public:/*** * @param root TreeNode类 * @return int整型vector*/vector<int> preorderTraversal(TreeNode* root) {// write code herevector<int> res;if (root != nullptr) {stack<TreeNode*> tS;tS.push(root);while (!tS.empty()) {TreeNode* tN = tS.top();tS.pop();res.push_back(tN->val);if (tN->right != nullptr)tS.push(tN->right);if (tN->left != nullptr)tS.push(tN->left);}}return res;} };

总结

以上是生活随笔为你收集整理的leetcode 144 --- 二叉树前序遍历的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。