[LeetCode Daily Question] [Simple] 1370。昇順および降順の文字列

[LeetCode Daily Question] [Simple] 1370。昇順および降順の文字列

1370.昇順および降順の文字列

1370.昇順および降順の文字列

アルゴリズムのアイデア:文字列

トピック:

ここに画像の説明を挿入します

Javaコード

  1. カウント; 26文字の出現回数をカウントします。
  2. 順方向トラバーサル、逆方向トラバーサル、および新しいストリングのつなぎ合わせ。
class Solution {
    
    
    public String sortString(String s) {
    
    
		int[] m = new int[26];//计数
		for (char ch : s.toCharArray()) {
    
    //统计每个字母出现频率
			m[ch - 'a']++;
		}
		
		int count = 0;
		int n = s.length();
		StringBuffer res = new StringBuffer();
		
 		while (count < n) {
    
    
			for (int i = 0; i < 26; i++) {
    
    //正向遍历
				if (m[i] > 0) {
    
    
					res.append((char)('a' + i));
					count++;
					m[i]--;
				}
			}
			for (int i = 25; i >= 0; i--) {
    
    //反向遍历
				if (m[i] > 0) {
    
    
					res.append((char)('a' + i));
					count++;
					m[i]--;
				}
			}
		}
 		return res.toString();
    }
}

おすすめ

転載: blog.csdn.net/qq_39457586/article/details/110144389