力扣题:字符串变换-1.5
2024-01-08 16:13:01
力扣题-1.5
力扣题1:482. 密钥格式化
解题思想:首先先将破折号去除,并将所有字母转换为大写,然后计算第一组的长度,进行结果字符串的拼接,如果第一组的长度为0,则需要删除开头的’-'符号
class Solution(object):
def licenseKeyFormatting(self, s, k):
"""
:type s: str
:type k: int
:rtype: str
"""
s = s.replace("-", "").upper()
first_group_length = len(s) % k
result = s[:first_group_length]
for i in range(first_group_length, len(s), k):
result += "-" + s[i:i+k]
if not result[:first_group_length]:
result = result[first_group_length+1:]
return result
class Solution {
public:
string licenseKeyFormatting(string s, int k) {
// 去除破折号并将所有字母转换为大写
s.erase(std::remove(s.begin(), s.end(), '-'), s.end());
transform(s.begin(), s.end(), s.begin(), ::toupper);
if (s == "") {
return s;
}
int first_group_length = s.length() % k;
std::string result = s.substr(0, first_group_length);
for (int i = first_group_length; i < s.length(); i += k) {
result += "-" + s.substr(i, k);
}
if (result.substr(0, first_group_length).empty()) {
result = result.substr(first_group_length + 1);
}
return result;
}
};
文章来源:https://blog.csdn.net/yumeng3866/article/details/135375869
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!