648 單詞替換(使用字首樹實現)

2021-10-24 19:36:09 字數 1417 閱讀 9753

構建字首樹

/**

* 字首樹

*/class

trie

/** * 構建字首樹

* @param word

*/public

void

insert

(string word)

node=node.

get(curchar);}

node.

setend()

;}/** * 判斷word是否為字首

* @param word

* @return

*/public

boolean

startwith

(string word)

else

}return

true;}

}

樹節點
/**

* 樹節點

*/class

treenode

public treenode get

(char ch)

public

void

put(

char ch , treenode treenode)

public

void

setend()

public

boolean

isend()

}

本題實現
/**

* 648.單詞替換

*/public

class

solution

public

static string replacewords

(list

dictionary, string sentence)

else

}return builder.

tostring()

;}/** * 如果尋找得到字首就返回字首,反之返回本身str

* @param dictionary

* @param str

* @return

*/public

static string findprestr

(list

dictionary , string str)

}return index!=-1

? dictionary.

get(index)

: str;

}}

leetcode 648 單詞替換

648.單詞替換 在英語中,我們有乙個叫做 詞根 root 的概念,它可以跟著其他一些詞組成另乙個較長的單詞 我們稱這個詞為 繼承詞 successor 例如,詞根an,跟隨著單詞 other 其他 可以形成新的單詞 another 另乙個 現在,給定乙個由許多詞根組成的詞典和乙個句子。你需要將句子...

trie樹 dp 字首單詞

讓我們一起來 forever shi神犇 題意 給你n個字串,每次選出若干個字串形成乙個集合,問有多少個集合滿足集合中的任何乙個字串都不是另外乙個字串的字首。空集也一定是滿足條件的。保證不會出現兩個相同的字串。首先對所有字串建出一棵tri etrie trie 樹,然後我們可以發現其實tri etr...

字首樹(字典樹,單詞查詢樹,Trie樹)

參考 概述 字首樹又名字典樹,單詞查詢樹,trie樹,是一種多路樹形結構,是雜湊樹的變種,和hash效率有一拼,是一種用於快速檢索的多叉樹結構。典型應用是用於統計和排序大量的字串 但不僅限於字串 所以經常被搜尋引擎系統用於文字詞頻統計。它的優點是 最大限度地減少無謂的字串比較,查詢效率比雜湊表高。t...