如何将列表中的整数按连续相同字符拆分并生成有序新列表
连续相同字符拆分实现方法
实现思路
- 首先将输入的数字转换为字符串,便于逐字符遍历
- 初始化结果存储列表和当前连续字符片段变量
- 逐个遍历字符串内的字符,对比是否和当前片段的首字符一致:
- 一致则追加到当前片段
- 不一致则将当前片段存入结果列表,重置当前片段为当前遍历到的字符
- 遍历完成后,将最后一段未存入的连续字符追加到结果列表
Python实现代码
def split_consecutive(input_num): str_val = str(input_num) if not str_val: return [] res = [] current_segment = str_val[0] for char in str_val[1:]: if char == current_segment[0]: current_segment += char else: res.append(current_segment) current_segment = char res.append(current_segment) return res # 测试调用 input_data = [1000011] print(split_consecutive(input_data[0])) # 输出结果:['1', '0000', '11']
JavaScript实现代码
function splitConsecutive(inputNum) { const strVal = inputNum.toString() if (!strVal) return [] const res = [] let currentSegment = strVal[0] for (let i = 1; i < strVal.length; i++) { if (strVal[i] === currentSegment[0]) { currentSegment += strVal[i] } else { res.push(currentSegment) currentSegment = strVal[i] } } res.push(currentSegment) return res } // 测试调用 const inputData = [1000011] console.log(splitConsecutive(inputData[0])) // 输出结果:['1', '0000', '11']
内容的提问来源于stack exchange,提问作者Conor
相关产品推荐
相关产品推荐

