中序遍历二叉树代码实现
时间: 2023-03-14 15:54:41 浏览: 64
根据中序遍历的定义,我们可以用递归来实现: def inorderTraversal(root):
if root:
inorderTraversal(root.left)
print(root.val)
inorderTraversal(root.right)
相关问题
中序遍历 二叉树 代码
中序遍历是二叉树遍历的一种方式,其遍历顺序为:先遍历左子树,再访问根节点,最后遍历右子树。中序遍历可以很好地实现对二叉搜索树的排序,因为中序遍历得到的节点值序列是递增有序的。以下是中序遍历二叉树的代码实现:
```
void inorderTraversal(TreeNode* root) {
if (root == nullptr) return;
inorderTraversal(root->left);
// 访问当前节点
cout << root->val << " ";
inorderTraversal(root->right);
}
```
其中,`TreeNode` 是二叉树的节点结构体,`val` 表示节点的值,`left` 和 `right` 分别表示左右子树。
中序遍历二叉树java
中序遍历是一种二叉树遍历方式,按照“左子树-根节点-右子树”的顺序遍历二叉树。下面是一个示例的Java代码实现:
```java
class TreeNode {
int val;
TreeNode left;
TreeNode right;
public TreeNode(int val) {
this.val = val;
}
}
public class InorderTraversal {
public void inorderTraversal(TreeNode root) {
if (root == null) {
return;
}
inorderTraversal(root.left); // 遍历左子树
System.out.print(root.val + " "); // 访问根节点
inorderTraversal(root.right); // 遍历右子树
}
public static void main(String[] args) {
// 构造二叉树
TreeNode root = new TreeNode(1);
root.left = new TreeNode(2);
root.right = new TreeNode(3);
root.left.left = new TreeNode(4);
root.left.right = new TreeNode(5);
// 创建中序遍历对象并执行中序遍历
InorderTraversal traversal = new InorderTraversal();
traversal.inorderTraversal(root);
}
}
```
上述代码中,我们首先定义了一个`TreeNode`类来表示二叉树的节点,其中包含节点值和左右子节点的引用。然后,我们定义了`InorderTraversal`类,其中的`inorderTraversal()`方法实现了中序遍历的递归算法。
在`main()`方法中,我们构造了一个示例的二叉树,并创建了`InorderTraversal`对象来执行中序遍历。执行结果会输出节点值的顺序。
相关推荐
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)