我正在爲下週的cs期中考試而學習。我們收到了期中考試樣本,我想知道我是否正確地做了這個。鏈接列表和BST樹找到最低
編寫一個方法public T lowest(),返回類中最大的元素。
public class List<T extends Comparable<T>> { private Node<T> head; // some methods here private class Node<T> { T data; Node<T> next; } }
這裏是我的回答:
public T lowest() { if(head == null) return null; Node<T> pointer = head; T min = pointer.data; while(pointer != null) { if(pointer.data.compareTo(min) < 0) // { min = pointer.data; pointer = pointer.next; } } return min;
}
寫的方法公開牛逼最低()返回存儲的int樹中的最低值。
public class BST<T extends Comparable<T>> { private Node<T> root; // some methods here private class Node<T> { T data; Node<T> left, right; } }
這裏是我的回答:
public T lowest()
{
Node current = root;
while(current.left != null)
{
current = current.left;
}
return current.data;
}
對於Q2,你要找到樹或最低節點值樹上的葉子最低?無論如何,你做錯了。你的代碼將返回樹中最左邊葉的數據值。 –
@JayeshDoolani我以爲最左邊的葉子總是有最低的值,所以這就是爲什麼我返回那個值 – bubbles2189
啊,你是對的。我認爲這是一個普通的二叉樹,而不是BST。在這種情況下你的代碼將工作 –