在给定的二进制搜索程序中,我必须按相反的字母顺序打印以元音开头的树中的元素但做不到。它会留下一些节点而不遍历请帮忙。

public void reverseOrderTr() {
    reverseOrderT(root);
}

private void reverseOrderT(BinaryTreeNode t) {
    if (t != null) {
        String v = t.nodeData;
        char tav = (Character.toUpperCase(v.charAt(0)));
        if (tav == 'A' ||
                tav == 'E' ||
                tav == 'I' ||
                tav == 'O' ||
                tav == 'U') {
            reverseOrderT(t.rightNode);
            System.out.print(t.nodeData + " ");
            reverseOrderT(t.leftNode);
        }
    }
}

最佳答案

您只遍历具有元音起始数据的节点的子节点。
将测试移到块的更深处,就在print函数附近。

10-08 00:07