题目要求:
用Java设计一个程序,实现一个字符串的对称个数,如字符串"effeghg",有"ff","effe","ghg"这三个对称字符,所以返回3.
我实现的思路就是遍历这个字符串,
先选定头位置为第一个字符,然后从最后向前遍历这个字符串,
头尾两个字符相同,则取中间字符串,进行递归。
递归结束后得到结果,
继续将头向后推1位,然后再从字符串最后向前遍历,
如此循环,当尾等于头时,退出最外层循环,输出结果。
具体实现:
-
-
publicclassFindSymmetryStr{
-
-
-
publicstaticintfindSymmetryStr(StringorgStr){
-
-
intcount=0;
-
-
if(orgStr!=null&&orgStr.length()>1){
-
-
intsize=orgStr.length();
-
-
inthead;
-
-
intcurrent;
-
-
charhStr;
-
-
charcStr;
-
-
for(head=0;head<size;head++){
-
- hStr=orgStr.charAt(head);
-
-
current=size-1;
-
-
while(current>head){
-
- cStr=orgStr.charAt(current);
-
-
if(hStr==cStr){
-
-
StringnewStr=orgStr.substring(head+1,current);
-
-
if(newStr.length()>1)
-
- count+=findSymmetryStr(newStr);
-
-
else
- count++;
-
- current--;
- }
-
-
else{
- current--;
- }
- }
- }
- }
-
returncount;
- }
-
-
publicstaticvoidmain(Stringargs[]){
-
intcount=findSymmetryStr("cddcbcbeffeghg");
-
System.out.println("symmetrystringcountis:"+count);
- }
- }
分享到:
相关推荐
18. 子字符串个数:该题目要求编写一个函数,输出字符串中某个子字符串的个数,考察了候选人的字符串处理能力和算法设计能力。 知识点:字符串处理、哈希表、频率统计。 19. 最大连续递增数字串:该题目要求编写一...
面试题8:二叉树的下一个节点 面试题9:用两个栈实现队列 面试题10:裴波那契数列 面试题11:旋转数组的最小数字 面试题12:矩阵中的路径 面试题13:机器人的运动范围 面试题14:剪绳子 面试题15:二进制中1的个数 ...
* 判断一个字符串是否为回文字符串? * 实现一个累加函数的功能。 * 使用 reduce 方法实现 forEach、map、filter。 * 设计一个简单的任务队列,要求分别在 1,3,4 秒后打印出 "1", "2", "3"。 * 如何查找一篇英文文章...
10. 二进制中1的个数:主要考察位运算的技巧,以及如何在不使用循环的情况下计算一个整数二进制表示中1的个数。 11. 数值的整数次方:涉及到数学运算和数值计算的知识,需要考虑大数运算以及溢出问题。 12. 求1到...
54. 表示数值的字符串:需要判断一个字符串是否符合表示数值的标准,如是否包含数字、小数点、正负号等。 55. 字符流中第一个不重复的字符:通过构建字符计数器,可以快速找出字符流中的第一个只出现一次的字符。 ...
用线性时间和常数附加空间将一个长度为 n 的字符串向左循环移动 m 位(例如,"abcdefg"移动 3 位就变成了"defgabc")。 答案:把字符串切成长为 m 和 n-m 的两半。将这两个部分分别逆序,再对整个字符串逆序。 ...
20. 判断回文:考察对字符串对称性的判断。 21. 判断字符串回文:同上,是另一个形式的回文判断问题。 22. 求字符串中最大回文子串:考察对字符串中回文子串搜索算法的实现。 23. 找出^n的数:涉及数学的幂运算和...
10. **判断字符串是否是另一个字符串的子串**: - 使用滑动窗口或KMP算法(Knuth-Morris-Pratt算法),检查目标字符串是否能被源字符串中的某个连续子序列覆盖。 这些知识点都是C语言编程中常见的问题,理解和掌握...
本资源为前端大厂最新面试题汇总,涵盖了 LeetCode 中的多种算法题目,包括栈、队列、排序、位运算、树、递归等。每个题目都提供了思路和实现的链接,可以帮助开发者更好地理解和掌握算法基础知识。 1. 栈和队列 ...
表示数值的字符串 面试题21 调整数组顺序使奇数位于偶数前面 面试题22 链表中倒数第k个节点 面试题24 反转链表 面试题25 合并两个排序的链表 面试题26 树的子结构 面试题27 二叉树的镜像 面试题28 对称的二叉树 面试...
3. 树和图:如重建二叉树,二叉树的下一个结点,用两个栈实现队列,矩阵中的路径,二叉树的镜像,对称的二叉树等。 4. 栈和队列:例如实现包含min函数的栈,栈的压入、弹出序列等。 5. 链表:包括链表中倒数第K个...
1.3.6. 在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff,则输出 b 52 1.3.7. n 个数字(0,1,…,n-1)形成一个圆圈 .................................................. 53 1.3.8. 定义 Fibonacci ...