首页 > 编程知识 正文

遍历循环的循环次数,遍历循环语句

时间:2023-05-04 20:54:01 阅读:276825 作者:2348

题目描述:

给定一种规律pattern和一个字符串str,判断str是否遵循相同的规律。这里的遵循是指完全匹配,例如,pattern里的每个字母和字符串str中的每个非空单词之间存在着双向连接的对应规律。

比如:pattern = "abba" , str = "dog cat cat dog",此时遵循相同的规律,输出为true。

算法思想:

如果字符串str中非空字符的长度不等于字符串pattern的长度,则两者就不可能遵循相同的规律;否则,遍历字符串,判断对应规律是否相同,若存在不相同,则两者不遵循相同的规律。

算法java实现: public static boolean wordPattern(String pattern, String s) { String[] array = s.split(" "); if (array.length != pattern.length()){ return false; } for (int i=0;i<pattern.length()-1;i++){ for (int j=i+1;j<pattern.length();j++){ if (pattern.charAt(i) == pattern.charAt(j)){ if (!array[i].equals(array[j])) { return false; } }else { if (array[i].equals(array[j])) { return false; } } } } return true; } 值得注意的是判断字符串是否相等,最好使用equals()方法 java使用==和equals()判断字符串是否相等算法分析: 时间复杂度:O(n2),假设字符串长度为n空间复杂度:O(n)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。