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