1. 程式人生 > 其它 >LeetCode 5933. k 映象數字的和

LeetCode 5933. k 映象數字的和

1、通過一個迴文數計算下一個迴文數:

long long NextMirror(long long num)

{
  string s=to_string(num);
  int n=s.size();
  for(int i=(n-1)/2;i>=0;i--)
  {
    if(s[i]!='9')
    {
      char tmp=s[i]+1;
      s[i]=tmp;
      s[n-1-i]=tmp;
      for(int j=i+1;j<=(n-1)/2;j++)
      {
        s[j]='0';
        s[n-1-j]='0';
      }
    return stoll(s);
    }
  }
  long long ans=1;
  for(int i=0;i<n;i++)
  ans*=10;
  return ans+1;
}

2、記錄數字的k進位制時,使用string而不是vector<int>或vector<char>
vector用於內建型別時,效能很低