@@ -0,0 +1,1300 @@
+public class Solution %7B%0A    public int ladderLength(String start, String end, Set%3CString%3E dict) %7B%0A        Queue %3CString%3E queue = new LinkedList %3C%3E ();%0A        Set %3CString%3E visited = new HashSet%3C%3E ();%0A        int len = 1;%0A        %0A        queue.add(start);%0A        queue.add(null);%0A        %0A        while(!queue.isEmpty()) %7B%0A            String cur = queue.poll();%0A            if (cur == null) %7B%0A                len++;%0A                if (!queue.isEmpty()) %7B%0A                    queue.add(null);%0A                %7D%0A                continue;%0A            %7D%0A            %0A            if (cur.equals(end)) %7B%0A                return len;%0A            %7D%0A            if (!visited.contains(cur)) %7B%0A                visited.add(cur);%0A                    %0A                for(int i=0; i%3Ccur.length(); i++) %7B%0A                    StringBuilder next = new StringBuilder(cur);%0A                    for (char j='a'; j%3C='z'; j++) %7B%0A                        if (j == cur.charAt(i)) continue;%0A                        next.setCharAt(i, j);%0A                        String nextWord = next.toString();%0A                        if (dict.contains(nextWord)) %7B%0A                            queue.add(nextWord);%0A                        %7D%0A                    %7D%0A                %7D%0A            %7D%0A        %7D%0A        %0A        return 0;%0A    %7D%0A%7D%0A

Create Word_Ladder.java