当前位置:网站首页>[formation quotidienne - Tencent Selection 50] 557. Inverser le mot III dans la chaîne

[formation quotidienne - Tencent Selection 50] 557. Inverser le mot III dans la chaîne

2022-07-05 08:37:00 Puppet

Titre

Donner une chaîne s ,Vous devez inverser l'ordre des caractères de chaque mot dans la chaîne,Tout en conservant l'ordre initial des espaces et des mots.

Exemple 1:
Entrée:s = “Let’s take LeetCode contest”
Produits:“s’teL ekat edoCteeL tsetnoc”

Exemple 2:
Entrée: s = “God Ding”
Produits:“doG gniD”

Conseils:
1 <= s.length <= 5 * 104
s Contient des ASCII Les caractères.
s Ne contient aucun espace de début ou de fin.
s - Oui. Au moins Il y a un mot..
s Tous les mots sont séparés par un espace

Code

package tencent50;

public class leetcode557 {
    
    // Utilisation d'espace supplémentaire,Et découper en segments par des espaces dans la chaîne originale,Retourner chaque segment
    public String reverseWords(String s) {
    
        StringBuffer  sb = new StringBuffer();
        int len = s.length();
        int i = 0;

        while( i < len){
    
            int start = i;
            // Trouvez d'abord où est l'espace
            while (i < len && s.charAt(i) != ' '){
    
                i++;
            }
            // Retourner le mot
            for (int j = i - 1; j >= start; j--){
    
                sb.append(s.charAt(j));
            }
            // Espace après saut 
            while (i < len && s.charAt(i) == ' '){
    
                i++;
                sb.append(' ');
            }
        }
        return sb.toString();
    }

    public static void main(String[] args) {
    
        leetcode557 obj = new leetcode557();
        System.out.println(obj.reverseWords("Let's take LeetCode contest"));
    }
}

原网站

版权声明
本文为[Puppet]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/186/202207050835595609.html