java基础——字符串中的反转Reverse问题(面试必备)
2017-12-16 09:57
561 查看
由于研究了关于字符串(String)的问题,今年就在这里总结一下,首先说一下有关于面试,我想的是,需要一定的技能,比方说,大家想到这个反转问题,肯定能说上了,只不过是你说的一般人都知道,要想在面试中更胜一筹,就必须比别人更多知道一点,更多地还是我们的积累,而不单单为了面试,好了,不说这些废话了,只有征服自己,才是更大的赢家。。。
直奔主题,说一下关于在别人问到这个问题的时候,该如何去回答,我们需要一点一点就说,这样子会感觉到我们更有条理,也不会更早的忘记。。。
从简单的开始(就是从简单的一句话开始)
注:old 为字符串变量
再来一个大气点的
我们要想到Collections类中有两个重要的方法,(sort()与reverse());而reverser()参数是集合,这个时候就需要转化为集合,代码如下:
然后再说一下关于charAt() 的用法:返回指定索引处的 char 值。
再说一下关于toCharArray()的用法:该方法的作用是返回一个字符数组,该字符数组中存放了当前字符串中的所有字符
利用栈,就是传说中的先进后出,如果不清楚,查看API即可,里面有:
Stack() 创建一个空堆栈。
empty() 测试堆栈是否为空;
push(E item) 把项压入堆栈顶部;
pop() 移除堆栈顶部的对象,并作为此函数的值返回该对象。
Character类为char的封装类
如果再有方法,我会即使更新!!!
直奔主题,说一下关于在别人问到这个问题的时候,该如何去回答,我们需要一点一点就说,这样子会感觉到我们更有条理,也不会更早的忘记。。。
从简单的开始(就是从简单的一句话开始)
注: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);
如果再有方法,我会即使更新!!!
相关文章推荐
- 【LeetCode-面试算法经典-Java实现】【151-Reverse Words in a String(反转字符串中的单词)】
- java面试笔试题,字符串反转问题
- JAVA基础面试中的几个问题[转]
- Java反转字符串和相关字符编码的问题解决
- 面试问题之 按单词反转字符串
- JAVA所有基础面试问题总结(精!!!!)
- Java反转字符串和相关字符编码问题
- JAVA -- JAVA基础笔试、面试常见问题集合
- java基础知识整理 一些问题的解答(面试)
- java基础将字符串进行反转
- 【LeetCode-面试算法经典-Java实现】【025-Reverse Nodes in k-Group(单链表中k个结点一组进行反转)】
- 面试问题之 按单词反转字符串
- JAVA面试中的几个重要基础问题
- Java面试基础--(出现次数最多的字符串)
- Java程序基础测试 基础笔试、面试常见问题集合
- 面试问题--java基础
- 面试基础_01字符串反转操作
- JAVA面试32个基础问题
- JAVA并发多线程的面试问题及答案(基础部分)
- java 面试基础问题