当前位置:网站首页 > 技术博客 > 正文

二叉树的递归遍历算法

以下是中序

遍历 二叉树

递归 算法

非递归 算法

实现

代码,供您参考:

递归 算法

 void inorder_recursive(TreeNode* root) { if (root) { inorder_recursive(root->left); cout << root->val << " "; inorder_recursive(root->right); } } 

非递归 算法

 void inorder_nonrecursive(TreeNode* root) { stack<TreeNode*> stk; TreeNode* curr = root; while (curr || !stk.empty()) { while (curr) { stk.push(curr); curr = curr->left; } curr = stk.top(); stk.pop(); cout << curr->val << " "; curr = curr->right; } } 

请注意,这里的 `TreeNode`

结构体

二叉树

节点的定义,其中包含了节点的值、左子节点和右子节点。如果您需要使用这些代码,请先自行定义 `TreeNode`

结构体

版权声明


相关文章:

  • 顺序循环队列的实现2025-05-02 21:30:02
  • maven仓库有2025-05-02 21:30:02
  • 游戏手柄测试软件2025-05-02 21:30:02
  • v4l2src2025-05-02 21:30:02
  • springboot html访问默认路径2025-05-02 21:30:02
  • hashmap数据存储结构2025-05-02 21:30:02
  • css按钮样式简约2025-05-02 21:30:02
  • 数字音频工作站的硬件系统2025-05-02 21:30:02
  • oracle rownum是什么类型2025-05-02 21:30:02
  • 成员变量在哪里2025-05-02 21:30:02