HDU1710—二叉树遍历 java编程
时间: 2023-12-21 16:05:01 浏览: 35
以下是HDU1710—二叉树遍历的Java代码实现,其中包括了前序遍历、中序遍历和后序遍历三种方法:
```java
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
public class BinaryTreeTraversal {
// 前序遍历
public static void preOrderTraversal(TreeNode node) {
if (node == null) {
return;
}
System.out.print(node.val + " ");
preOrderTraversal(node.left);
preOrderTraversal(node.right);
}
// 中序遍历
public static void inOrderTraversal(TreeNode node) {
if (node == null) {
return;
}
inOrderTraversal(node.left);
System.out.print(node.val + " ");
inOrderTraversal(node.right);
}
// 后序遍历
public static void postOrderTraversal(TreeNode node) {
if (node == null) {
return;
}
postOrderTraversal(node.left);
postOrderTraversal(node.right);
System.out.print(node.val + " ");
}
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);
// 前序遍历
System.out.print("Pre-order traversal: ");
preOrderTraversal(root);
System.out.println();
// 中序遍历
System.out.print("In-order traversal: ");
inOrderTraversal(root);
System.out.println();
// 后序遍历
System.out.print("Post-order traversal: ");
postOrderTraversal(root);
System.out.println();
}
}
```