如何确定字母的摩尔斯电码表示?
“E”=“。” “T”=“-”
为什么不是字母?如 let "A" = ".", "B" = "-", "C" =".-" 等等。
我正在尝试为充满这些字母的遍历二叉树开发一种算法。
我的主要目标是搜索一个字母,例如“A”,但我不知道使用什么条件来确定何时分支到右侧或左侧节点。
编辑
这就是我试图做的。在这里,我试图跟踪路径。但是当我用像“E”这样的字母尝试它时,它说根是空的。
static boolean treeContains( Node root, String item ) {
// Return true if item is one of the items in the binary
// sort tree to which node points. Return false if not.
if ( root == null ) {
// Tree is empty, so it certainly doesn't contain item.
System.out.print("Is null");
return false;
}
else if ( item.equals(root.element) ) {
// Yes, the item has been found in the root node.
return true;
}
else if ( item.compareTo(root.element) < 0 ) {
// If the item occurs, it must be in the left subtree.
// So, return the result of searching the left subtree.
res = res.concat(".");
return treeContains( root.right, item );
}
else {
// If the item occurs, it must be in the right subtree.
// So, return the result of searching the right subtree.
res = res.concat("-");
return treeContains( root.left, item );
}
} // end treeContains()