问题:
给定一个BST, 从大到小打印里面的值。
分析:
我们知道通过inorder,我们可以从小到大打印BST的值。同理,为了能够从大到小打印,我们首先应该打印“根”节点的右子树的值,然后打印“根”节点,然后打印左子树的值。
代码:
public static void printTreeByDecreasingOrder(Node root) {
if (root != null) {
printTreeByDecreasingOrder(root.right);
System.out.println(root.value + " ");
printTreeByDecreasingOrder(root.left);
}
}
class Node{
int value;
Node left;
Node right;
public Node(int value) {
this.value = value;
left = null;
right = null;
}
}