leetcode 3754. 连接非零数字并乘以其数字和 I 简单

📅 2026/7/8 6:06:45
leetcode 3754. 连接非零数字并乘以其数字和 I 简单
给你一个整数n。将n中所有的非零数字按照它们的原始顺序连接起来形成一个新的整数x。如果不存在非零数字则x 0。sum为x中所有数字的数字和。返回一个整数表示x * sum的值。示例 1输入n 10203004输出12340解释非零数字是 1、2、3 和 4。因此x 1234。数字和为sum 1 2 3 4 10。因此答案是x * sum 1234 * 10 12340。示例 2输入n 1000输出1解释非零数字是 1因此x 1且sum 1。因此答案是x * sum 1 * 1 1。提示0 n 10^9分析先将 n 的所有非零数字从低位到高位存到一个 vector 里之后逆序拼接成一个整数同时计算所有非零数字之和最后返回乘积。class Solution { public: long long sumAndMultiply(int n) { long long ret0,sum0; int len0; vectorintnum; while(n) { if(n%10)num.push_back(n%10),len; n/10; } for(int ilen-1;i0;--i) retret*10num[i]*1LL,sumnum[i]*1LL; return ret*sum; } };