关于将字符串数字排序的面试问题
2013-07-25 00:24
309 查看
分享一道常见的面试题目,虽然大家都知道,但是往往会忽视掉这个问题。
题目,输入一段字符串数字,将这个字符串数字进行排序,比如 "35219"
代码实现
第一种方法,使用string.length()分隔
代码实现如下
运行将打印如下信息
[3, 5, 2, 1, 9]
[1, 2, 3, 5, 9]
第二种方法,使用String.toCharArray()方法
代码实现如下
运行将打印如下信息
[3, 5, 2, 1, 9]
[1, 2, 3, 5, 9]
下面这3句代码写法是一样的
int value=Integer.parseInt(number.charAt(i)+"");
int value=Integer.valueOf(c-0x30);
int value=Integer.valueOf(c-48);
ox30是16进制的写法,48是10进制写法
Integer.valueOf比较的Ascii码
题目,输入一段字符串数字,将这个字符串数字进行排序,比如 "35219"
代码实现
第一种方法,使用string.length()分隔
代码实现如下
public static void StringToIntArray1(String number){ List<Integer> temps=new ArrayList<Integer>(); for(int i=0;i<number.length();i++){ int value=Integer.parseInt(number.charAt(i)+""); temps.add(value); } System.out.println(temps); Collections.sort(temps); System.out.println(temps); }
运行将打印如下信息
[3, 5, 2, 1, 9]
[1, 2, 3, 5, 9]
第二种方法,使用String.toCharArray()方法
代码实现如下
public static void StringToIntArray2(String number){ List<Integer> temps=new ArrayList<Integer>(); char[] chars=number.toCharArray(); for(char c:chars){ int value=Integer.valueOf(c-0x30); temps.add(value); } System.out.println(temps); Collections.sort(temps); System.out.println(temps); }
运行将打印如下信息
[3, 5, 2, 1, 9]
[1, 2, 3, 5, 9]
下面这3句代码写法是一样的
int value=Integer.parseInt(number.charAt(i)+"");
int value=Integer.valueOf(c-0x30);
int value=Integer.valueOf(c-48);
ox30是16进制的写法,48是10进制写法
Integer.valueOf比较的Ascii码
相关文章推荐
- MySQL关于字符串中数字排序的问题分析
- MySQL关于字符串中数字排序的问题分析
- 按字符串中的数字排序问题
- 关于VB 15个数字排序问题
- UVA 156 Ananagrams 关于二维数组表示的字符串排序的问题
- Mysql字符串中有数字的排序问题
- 关于map中含数字string的排序问题
- php下关于中英数字混排的字符串分割问题
- c#按字符串中的数字排序问题
- 关于mysql对字符串的数字的排序
- 关于map中含数字string的排序问题
- 解决oracle语句中 含数字的字符串按数字排序问题
- 关于动态存储分配函数的调用,在已经过排序的数组中查找及删除内容的操作,余数的分析,删除字符数组中的空格,对链表的逆置,在源字符串中查找子字符串的个数,函数指针以及函数的调用,循环赋值带来的问题以及插入
- 关于今天面试回答的不好的两个问题(垃圾回收机制和对象的排序)
- 关于Devexpress xtraGrid中数字字段删除数字后出现输入字符串格式不正确问题的解决方案
- 按字符串中的数字排序问题
- js里面关于数字 字符串 数组 的问题
- 解决oracle语句中 含数字的字符串按数字排序问题
- MySQL字符串中数字排序的问题
- MySQL字符串中数字排序的问题