leetcode 127 单词接龙

思路:BST

方向 :{a,b,c.......z}

设置一个queue ,记录当前位置  

先是外层循环(queue !=  null)   如果 这个循环走完, 说明中间没返回, 直接返回0;

每一次循环 路径++;

然后是 弹出队列中, 

    然后循环 字符的每一位然后

    进行 方向循环,用每一个方向修改字符

   如果在wordlist中存在,就放进queue

   然后在wordlist删掉当前的

   如果直接满足endword 

    直接返回

class Solution {
    public static int ladderLength(String beginWord, String endWord, List<String> wordList) {
    int n = beginWord.length();
    HashSet<String> set = new HashSet<>();
    for(String s : wordList)
    {
    	//System.out.println(s);
        set.add(s);
    }
    char[] direction = {'q','w','e','r','t','y','u','i','p',
    'o','a','s','d','f','g','h','j','k','l','z','x','c','v','b','n','m'};
    Queue<String> queue = new LinkedList<>();
    queue.add(beginWord);
    int ans = 0;
    while(!queue.isEmpty())
    {
        ans ++;
        int size = queue.size();
        while(size -- > 0)//往外弹 
        {
            StringBuilder str = new StringBuilder(queue.poll());
            for(int i = 0; i < n; i ++)
            {
            	//System.out.println(str);
            	//System.out.println(":    "+i);
                for(char c : direction)
                {
      
                	StringBuilder A = new StringBuilder(str);
                    A.setCharAt(i, c);
                    String item= new String(A);
                    //System.out.println(item + "   1111");
                    if(set.contains(item))
                    {
                    	//System.out.println(item + "2222");
                        queue.add(item);
                        set.remove(item);
                        if(endWord.equals(item))
                            return ans + 1; 
                    }

            }
        }
        }
        
        //System.out.println(queue.size() + ": size");
    }
    return 0;

}
}

   

 

 

机器学习作业,机器学习和深度学习方法实现的入侵检测源代码+文档报告+数据集,个人经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做大作业的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业。 机器学习作业,机器学习和深度学习方法实现的入侵检测源代码+文档报告+数据集机器学习作业,机器学习和深度学习方法实现的入侵检测源代码+文档报告+数据集机器学习作业,机器学习和深度学习方法实现的入侵检测源代码+文档报告+数据集机器学习作业,机器学习和深度学习方法实现的入侵检测源代码+文档报告+数据集机器学习作业,机器学习和深度学习方法实现的入侵检测源代码+文档报告+数据集机器学习作业,机器学习和深度学习方法实现的入侵检测源代码+文档报告+数据集机器学习作业,机器学习和深度学习方法实现的入侵检测源代码+文档报告+数据集机器学习作业,机器学习和深度学习方法实现的入侵检测源代码+文档报告+数据集机器学习作业,机器学习和深度学习方法实现的入侵检测源代码+文档报告+数据集机器学习作业,机器学习和深度学习方法实现的入侵检测源代码+文档报告+数据集机器学习作业,机器学习和深度学习方法实现的入侵检测源代码+文档报告+数据集机器学习作业,机器学习和深度学习方法实现的入侵检测源代码+文档报告+数据集机器学习作业,机器学习和深度学习方法实现的入侵检测源代码+文档报告+数据集机器学习作业,机器学习和深度学习方法实现的入侵检测源代码+文档报告+数据集机器学习作业,机器学习和深度学习方法实现的入侵检测源代码+文档报告+数据集机器学习作业,机器学习和深度学习方法实现的入侵检测源代码+文档报告+数据集机器学习作业,机器学习和深度学习方法实现的入侵检测源代码+文档报告+数据集机器学习作业,机器学习和深度学习方法实现的入侵检测源代码+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值