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 }
运行结果:
分析:该程序是非常简单,但面试中又喜欢问的
愿你悄悄的努力,遇见更好的自己~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了