【LeetCode】Word Ladder 字串,leetcodeladder

來源:互聯網
上載者:User

【LeetCode】Word Ladder 字串,leetcodeladder

題目:Word Ladder

<span style="font-size:18px;">/**LeetCode word ladder * 題目:給定一個起始單詞和一個終結單詞以及一個字典,要求每次變換一個字元,成為字典中新的詞,直到變為最後的詞,要求其最短路徑 * 思路:利用隊列,先彈出第一個詞,分別將詞中每一個字元替換直到找到一個字典中存在的詞,排入佇列,直到匹配的詞是最後一個,此時終止 * 如果沒有這樣的路徑,則返回0 */package javaTrain;import java.util.LinkedList;import java.util.Set;public class Train21 {public int ladderLength(String start, String end, Set<String> dict) {        if(dict.size() == 0) return 0;        LinkedList<String> queue = new LinkedList();        String tag = new String();        queue.add(start);        queue.add(tag);        int len = 1;        while(queue.size() > 1){        String top = queue.pop();        if(top == tag){//標誌著對於一個詞的每個字元的替換測試已經結束,有用的都放在隊列後面了        len++;        queue.add(tag);        continue;        }        else if(top == end){         return len;        }        for(int i = 0;i < top.length();i++){        char[] zifu = top.toCharArray();        for(char c = 'a';c <= 'z';c++){        zifu[i] = c;        String newWord = new String(zifu);        if(dict.contains(newWord)){        queue.add(newWord);        }        dict.remove(newWord);        }        }        } </span>
<span style="font-size:18px; font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre"></span>return 0;</span>

<span style="font-size:18px;">    }}</span>




相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.