随笔 - 18  文章 - 0  评论 - 2  阅读 - 92462 
复制代码
 1 public class StringUtils {
 2 
 3     /**
 4      * 把字符串转置
 5      * 
 6      * @param array
 7      *            char数组
 8      * @return 转置后的数组
 9      */
10     public char[] change(String str) {
11         char[] array = str.toCharArray();
12         int size = array.length - 1;
13         int i = 0;
14 
15         while (i <= size) {
16             char temp = array[size];
17             array[size] = array[i];
18             array[i] = temp;
19             size--;
20             i++;
21         }
22 
23         return array;
24     }
25 
26     /**
27      * 判断字符串是否为回文(思路:先把char数组倒置再一一比对)
28      * 
29      * @param str
30      *            字符串
31      * @return 布尔值
32      */
33     public boolean stringUtils(String str) {
34         char[] array = str.toCharArray();
35         char[] arr = change(str);
36         for (int i = 0; i < str.length(); i++) {
37             if (array[i] != arr[i]) {
38                 return false;
39             }
40         }
41         return true;
42     }
43 
44     /**
45      * 判断字符串是否为回文(思路:char数组前后的值相比较)
46      * 
47      * @param str
48      *            字符串
49      * @return 布尔值
50      */
51     public boolean stringUtils1(String str) {
52         char[] array = str.toCharArray();
53         int size = array.length - 1;
54         int i = 0;
55 
56         while (i <= size) {
57             if (array[i] != array[size]) {
58                 return false;
59             }
60             i++;
61             size--;
62         }
63         return true;
64     }
65 
66     public static void main(String[] args) {
67         String str = "abcbaf";
68         StringUtils su = new StringUtils();
69         System.out.println("法一判断是否为回文字符串:" + su.stringUtils(str));
70         System.out.println("法二判断是否为回文字符串:" + su.stringUtils1(str));
71     }
72 
73 }
复制代码

运行结果:

  

分析:该程序是非常简单,但面试中又喜欢问的

 

posted on   呵呵静  阅读(687)  评论(1编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示