中序遍历 二叉树 代码
时间: 2024-05-23 18:07:44 浏览: 98
中序遍历是二叉树遍历的一种方式,其遍历顺序为:先遍历左子树,再访问根节点,最后遍历右子树。中序遍历可以很好地实现对二叉搜索树的排序,因为中序遍历得到的节点值序列是递增有序的。以下是中序遍历二叉树的代码实现:
```
void inorderTraversal(TreeNode* root) {
if (root == nullptr) return;
inorderTraversal(root->left);
// 访问当前节点
cout << root->val << " ";
inorderTraversal(root->right);
}
```
其中,`TreeNode` 是二叉树的节点结构体,`val` 表示节点的值,`left` 和 `right` 分别表示左右子树。
相关问题
中序遍历二叉树代码实现
根据中序遍历的定义,我们可以用递归来实现: def inorderTraversal(root):
if root:
inorderTraversal(root.left)
print(root.val)
inorderTraversal(root.right)
中序遍历二叉树运行代码
中序遍历是一种常见的二叉树遍历方法,它按照“左-根-右”的顺序访问每个节点。在递归形式的实现中,首先访问左子树,然后访问根节点,最后访问右子树。以下是使用Python实现的中序遍历二叉树的示例代码:
```python
# 定义二叉树节点结构
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def inorder_traversal(root):
if root is not None:
# 先递归遍历左子树
inorder_traversal(root.left)
# 访问当前节点
print(root.val, end=' ')
# 再递归遍历右子树
inorder_traversal(root.right)
# 示例用法
# 创建一个简单的二叉树
root = TreeNode(1)
root.left = TreeNode(2)
root.right = TreeNode(3)
root.left.left = TreeNode(4)
root.left.right = TreeNode(5)
# 调用中序遍历函数
inorder_traversal(root)
```
阅读全文