Дерево ява как найти слово - PullRequest
       4

Дерево ява как найти слово

0 голосов
/ 31 октября 2009

Я пытаюсь прочитать узел, который найдет самое длинное слово в дереве.

Мой метод public static int word(Node d). Итак, как мне найти длину этого узла? Буду ли я использовать строку, которая была сделана в классе? Класс, который я бы использовал, инициализирует логическое значение String: theWord и children. Вот что я получил:

int newWord = 0;
int word = d.theWord.length();
if (d.isWord) {
    if (word > newWord) {
        newWord = word;
        return longestWord((DTN) d.children);
    } else {
        return longestWord((DTN) d.children);
    }
}
return newWord;

Ответы [ 2 ]

0 голосов
/ 31 октября 2009

Хорошо, есть немного больше информации. Я до сих пор не совсем понимаю, что здесь происходит, но вот еще один удар в том, что я думаю, в основном то, что вы могли бы хотеть:

String longestWord(Node d) {
  String result = d.theWord;
  for (Node c : d.children) {
     String w = longestWord(c);
     if (result.length < w.length) result = w;
  }
  return result;
}

Предполагается, что d.children является некоторой коллекцией Node s.

0 голосов
/ 31 октября 2009

Этой информации на самом деле недостаточно, но я все равно сделаю снимок в темноте

public static int longest(Node d) {
  if (d == null) return 0;
  else return Math.max(longest(d.left), longest(d.right)) + 1;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...