java基础——字符串中的反转Reverse问题(面试必备)
来源:互联网 发布:北京赛车pk10软件 编辑:程序博客网 时间:2024/06/03 18:44
由于研究了关于字符串(String)的问题,今年就在这里总结一下,首先说一下有关于面试,我想的是,需要一定的技能,比方说,大家想到这个反转问题,肯定能说上了,只不过是你说的一般人都知道,要想在面试中更胜一筹,就必须比别人更多知道一点,更多地还是我们的积累,而不单单为了面试,好了,不说这些废话了,只有征服自己,才是更大的赢家。。。
直奔主题,说一下关于在别人问到这个问题的时候,该如何去回答,我们需要一点一点就说,这样子会感觉到我们更有条理,也不会更早的忘记。。。
从简单的开始(就是从简单的一句话开始)
注:old 为字符串变量
//return new StringBuffer(old).reverse().toString(); //return new StringBuilder(old).reverse().toString();
再来一个大气点的
我们要想到Collections类中有两个重要的方法,(sort()与reverse());而reverser()参数是集合,这个时候就需要转化为集合,代码如下:
String result = ""; List<String> olds = Arrays.asList(old.split("")); Collections.reverse(olds); for (String s : olds) { result += s; } return result;
然后再说一下关于charAt() 的用法:返回指定索引处的 char 值。
利用下标倒序把字符取出来重组
String result = ""; for (int i = old.length() - 1; i >= 0; i--) { result += String.valueOf(old.charAt(i)); } return result;
这种方法是将先取出来的放在后取出来的后面
String result = ""; for (int i = 0; i < old.length(); i++) { result = old.charAt(i) + result; } return result;
再说一下关于toCharArray()的用法:该方法的作用是返回一个字符数组,该字符数组中存放了当前字符串中的所有字符
利用栈,就是传说中的先进后出,如果不清楚,查看API即可,里面有:
Stack() 创建一个空堆栈。
empty() 测试堆栈是否为空;
push(E item) 把项压入堆栈顶部;
pop() 移除堆栈顶部的对象,并作为此函数的值返回该对象。
Character类为char的封装类
char[] chars = old.toCharArray(); Stack<Character> oldStack = new Stack<Character>(); for (Character c : chars) { oldStack.push(c); } String result = ""; while (!oldStack.empty()) { result += oldStack.pop(); } return result;
来点刺激一点的,就是你的重点。。。要想说清楚就需要使用奇数偶数来测试 等等。。。
char[] chars = old.toCharArray(); int n = chars.length - 1; for (int i = 0; i <= n / 2; i++) { char temp = chars[i]; chars[i] = chars[n - i]; chars[n - i] = temp; } return new String(chars);
如果再有方法,我会即使更新!!!
阅读全文
0 0
- java基础——字符串中的反转Reverse问题(面试必备)
- 【LeetCode-面试算法经典-Java实现】【151-Reverse Words in a String(反转字符串中的单词)】
- java字符串反转reverse();
- 面试中的字符串反转
- LeetCode344——Reverse String(将字符串反转)
- LeetCode——344. Reverse String(字符串反转)
- 字符串反转(reverse实现)
- 字符串反转(reverse函数)
- java基础-字符串反转
- 反转字符串中的单词(Reverse Words)
- 7. Reverse Integer(反转整型) —— Java
- java中的字符串反转
- JAVA中的字符串反转
- 前端面试常见问题——字符串反转
- 求职面试(字符串反转,单词反转)
- hdu——1062Text Reverse(反转函数reverse)
- 面试基础_01字符串反转操作
- leetcode:Reverse Linked List II (反转链表中的一部分)【面试算法题】
- oracle学习第一天
- Linux期末复习重点(知识点)
- Linux PM QoS framework(1)_概述和软件架构
- bzoj 2142: 礼物
- Linux下MySQL的安装配置
- java基础——字符串中的反转Reverse问题(面试必备)
- 互联网金融产品需要什么样的产品经理?
- Linux电源管理(13)_Driver的电源管理
- PMCAFF携手百度,干货从未如此精彩(现场快讯)
- FAQ(10):Type interface com.smbms.dao.UserMapper is not known to the MapperRegistry.
- java反射
- 优秀产品经理(CEO)必须get的财税知识
- 重识微信:花 8 小时列举微信功能
- linu禁止root远程登录