class Solution {\npublic:\n int compress(vector& chars) {\n int n = chars.size(),left = 0, len = 0;\n for(int i = 0; i < n; i ++) {\n if(i == n - 1 || chars[i] != chars[i + 1]) {\n chars[len ++] = chars[i];\n int nums = i - left + 1;\n if(nums > 1) for(char num : to_string(nums)) chars[len++] = num;\n left = i + 1;\n }\n }\n return len;\n }\n};//转换成Dart内容:class Solution {\n int compress(List chars) {\n int n = chars.length;\n int left = 0, len = 0;\n for (int i = 0; i < n; i++) {\n if (i == n - 1 || chars[i] != chars[i + 1]) {\n chars[len++] = chars[i];\n int nums = i - left + 1;\n if (nums > 1) {\n String numStr = nums.toString();\n for (int j = 0; j < numStr.length; j++) {\n chars[len++] = numStr[j];\n }\n }\n left = i + 1;\n }\n }\n return len;\n }\n}

C++ & Dart 字符串压缩算法实现 - 压缩字符数组

原文地址: https://www.cveoy.top/t/topic/qhlN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录