zoukankan      html  css  js  c++  java
  • 784. Letter Case Permutation

    Given a string S, we can transform every letter individually to be lowercase or uppercase to create another string.  Return a list of all possible strings we could create.

    Examples:
    Input: S = "a1b2"
    Output: ["a1b2", "a1B2", "A1b2", "A1B2"]
    
    Input: S = "3z4"
    Output: ["3z4", "3Z4"]
    
    Input: S = "12345"
    Output: ["12345"]
    

    Note:

    • S will be a string with length at most 12.
    • S will consist only of letters or digits.

    将S的每个字母进行大写小小写转换,求出所有的可能

    C++(9ms):  BFS

     1 class Solution {
     2 public:
     3     vector<string> letterCasePermutation(string S) {
     4         queue<string> que ;
     5         que.push(S) ;
     6         for(int i = 0 ; i < S.size() ; i++){
     7             if (isdigit(S[i]))
     8                 continue ;
     9             int len = que.size() ;
    10             for (int j = 0 ; j < len ; j++){
    11                 string cur = que.front() ;
    12                 que.pop() ;
    13                 
    14                 cur[i] = toupper(cur[i]);
    15                 que.push(cur) ;
    16                 
    17                 cur[i] = tolower(cur[i]) ;
    18                 que.push(cur) ;
    19             }
    20         }
    21         vector<string> res ;
    22         int len = que.size() ;
    23         for(int i = 0 ; i < len ; i++){
    24             res.push_back(que.front()) ;
    25             que.pop() ;
    26         }
    27         return res ;
    28     }
    29 };
  • 相关阅读:
    列表、元组、字典、集合类型及其内置方法
    Python数字类型及字符串类型的内置方法 ##
    Python之流程控制
    前端混合
    数据库
    oracle 11g 安装过程
    SQLAlchemy
    pipreqs快速生成python项目所需的依赖
    llinux基本操作
    linux简介
  • 原文地址:https://www.cnblogs.com/mengchunchen/p/8536058.html
Copyright © 2011-2022 走看看