LeetCode 820 单词的压缩编码

LeetCode 820 单词的压缩编码_第1张图片

我理解有错误 ["self","fish","hike"] 压缩编码之后就成为“selfishike#”其实是错误的,正确的压缩方式是“self#fish#hike#,导致我一直卡在这里。只有下一个单词完全是上一个单词的后缀才可以改写如["time","me",“bell”],即是“time#bell”。

解题思路:把每个字符串都倒序,然后排序,只需要比较相邻的字符串即可

class Solution {
public:
    int minimumLengthEncoding(vector& words) {
      int size=words.size();
      if(size==0)
      return 0;

    //   if(size==1)
    //   return words[0].size()+1;

      for(auto &s:words)
      {
          reverse(s.begin(),s.end());
      }
      sort(words.begin(),words.end());
      int number=0;
      for(int i=0;i

 

你可能感兴趣的:(C++,LeetCode,字符串)