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

LeetCode 784. Letter Case Permutation (字母大小写全排列 )

时间:2020-03-16 10:02:21      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:日期   string   case   ase   ons   ack   backtrac   vat   etc   

题目标签:Backtracking

  用dfs,只对字母分别递归小写 和 大写,具体看code。

  

 

Java Solution: 

Runtime:  1 ms, faster than 100.00 % 

Memory Usage: 42.7 MB, less than 8.00 %

完成日期:12/15/2019

关键点:dfs

class Solution {
    public List<String> letterCasePermutation(String S) {
        List<String> result = new ArrayList<>();
        
        DFS(result, S.toCharArray(), 0);
        
        return result;
    }
    
    private void DFS(List<String> res, char [] cArr, int pos) {
        if(pos == cArr.length) {
            res.add(new String(cArr));
            return;
        }
            
        if(Character.isLetter(cArr[pos])) {
            // lower case
            cArr[pos] = Character.toLowerCase(cArr[pos]);
            DFS(res, cArr, pos+1);
            
            // upper case
            cArr[pos] = Character.toUpperCase(cArr[pos]); 
            DFS(res, cArr, pos+1);
        } else {
            DFS(res, cArr, pos+1);
        }
    }
}

参考资料:n/a

LeetCode 题目列表 - LeetCode Questions List

题目来源:https://leetcode.com/

LeetCode 784. Letter Case Permutation (字母大小写全排列 )

标签:日期   string   case   ase   ons   ack   backtrac   vat   etc   

原文地址:https://www.cnblogs.com/jimmycheng/p/12501638.html

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