320. Generalized Abbreviation
Posted 咖啡中不塌缩的方糖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了320. Generalized Abbreviation相关的知识,希望对你有一定的参考价值。
Write a function to generate the generalized abbreviations of a word.
Example:
Given word = "word"
, return the following list (order does not matter):
["word", "1ord", "w1rd", "wo1d", "wor1", "2rd", "w2d", "wo2", "1o1d", "1or1", "w1r1", "1o2", "2r1", "3d", "w3", "4"]
public IList<string> GenerateAbbreviations(string word) { List<string> res = new List<string>(); BackTracking(word,0,"",res,0); return res; } private void BackTracking(string word,int sentinel, string cur, List<string> res, int isNumberbefore) { if(sentinel == word.Length) { if(isNumberbefore ==0) res.Add(cur); else res.Add(cur+isNumberbefore); } else { if(isNumberbefore > 0) BackTracking(word, sentinel+1,cur+isNumberbefore+word[sentinel],res,0); else BackTracking(word, sentinel+1,cur+word[sentinel],res,0); BackTracking(word, sentinel+1,cur,res,isNumberbefore+1); } }
以上是关于320. Generalized Abbreviation的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode 320: Generalized Abbreviation
320. Generalized Abbreviation-- back tracking
LeetCode Generalized Abbreviation