【LeetCode】每日一题 2024_1_20 按分隔符拆分字符串(模拟/库函数)

文章目录

随便聊聊时间


LeetCode?启动!!!

时隔半个月,LeetCode 每日一题重新开张,寒假学习,正式开始

题目:按分隔符拆分字符串

题目链接:2788. 按分隔符拆分字符串

题目描述

代码与解题思路

可以直接手动模拟:

go 复制代码
func splitWordsBySeparator(words []string, separator byte) (ans []string) {
    for i := 0; i < len(words); i++ {
        s := ""
        for j := 0; j < len(words[i]); j++ {
            if words[i][j] == separator {
                if s != "" {
                    ans = append(ans, s)
                    s = ""
                }
                continue
            }
            s += string(words[i][j])
        }
        if s != "" {
            ans = append(ans, s)
        }
    }
    return ans
}

也可以直接调库:

go 复制代码
func splitWordsBySeparator(words []string, separator byte) (ans []string) {
    for _, str := range words {
        // string([]byte{separator})
        s := strings.Split(str, string(separator))
        for _, v := range s {
            if len(v) > 0 {
                ans = append(ans, v)
            }
        }
    }
    return ans
}

看官方题解学到新知识:

我原先使用的:string(separator),可以将 byte 类型的一个字符转换成 string 类型,官方的那个更高级一点,他用的:string([ ]byte{separator}),如果分隔符不止一个字符的话,我们可以给这个 byte 切片手动追加字符

相关推荐
迈巴赫车主22 分钟前
蓝桥杯19724食堂
java·数据结构·算法·职场和发展·蓝桥杯
6Hzlia39 分钟前
【Hot 100 刷题计划】 LeetCode 78. 子集 | C++ 回溯算法题解
c++·算法·leetcode
Kethy__42 分钟前
计算机中级-数据库系统工程师-数据结构-查找算法
数据结构·算法·软考·查找算法·计算机中级
所以遗憾是什么呢?1 小时前
【题解】Codeforces Round 1081 (Div. 2)
数据结构·c++·算法·acm·icpc·ccpc·xcpc
xiaoye-duck2 小时前
《算法题讲解指南:递归,搜索与回溯算法--综合练习》--14.找出所有子集的异或总和再求和,15.全排列Ⅱ,16.电话号码的字母组合,17.括号生成
c++·算法·深度优先·回溯
OOJO2 小时前
c++---vector介绍
c语言·开发语言·数据结构·c++·算法·vim·visual studio
汀、人工智能2 小时前
05 - 函数基础
数据结构·算法·数据库架构·05 - 函数基础
HAPPY酷2 小时前
Python高级架构师之路——从原理到实战
java·python·算法
枫叶林FYL2 小时前
第9章 因果推理与物理理解
人工智能·算法·机器学习
小白zlm3 小时前
预畸变双线性变换
单片机·嵌入式硬件·算法·电机控制