码迷,mamicode.com
首页 > 其他好文 > 详细

小写字母置前

时间:2014-05-09 19:45:40      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:blog   class   code   java   c   int   

问题:

有一个由大小写组成的字符串,现在需要对它进行修改,将其中的所有小写字母排在大写字母的前面(大写或小写字母之间不要求保持原来次序)。

解决办法:

设置2个指针i和j,i最初指向字符串的第一个位置,j指向字符串的最后一个位置;

i向后遍历直到遇到第一个大写字符,j向前遍历直到遇到第一个小写字母,交换i和j位置上的字符;

直到i=j+1,结束;注意交换前需要判断i是否小于j,否则最后的两个字符不正确。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public String lowerBeforeUpper(String s){
        int len =s.length();
        int i=0;
        int j=len-1;
        while(i<j){
            while(i<len&&s.charAt(i)>=‘a‘&&s.charAt(i)<=‘z‘){   //xiaoxie
                i++;
            }
            while(j>=0&&s.charAt(j)>=‘A‘&&s.charAt(j)<=‘Z‘){
                j--;
            }
            if(i<j){
                s = switchIJ(s,i,j);   
            }
        }
        return s;
    }
     
    private String switchIJ(String s, int i, int j) {
        // TODO Auto-generated method stub
        StringBuffer a = new StringBuffer(s);
        char temp= a.charAt(i);
        a.setCharAt(i, a.charAt(j));
        a.setCharAt(j, temp);
        return a.toString();
    }

  

小写字母置前,布布扣,bubuko.com

小写字母置前

标签:blog   class   code   java   c   int   

原文地址:http://www.cnblogs.com/lxq0309/p/3719048.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!