美文网首页
字符串问题

字符串问题

作者: 唐僧取经 | 来源:发表于2018-08-22 23:03 被阅读0次

算法:字符串问题

字符串反转

1、问题描述:问题描述:给定一个字符串,将字符串前面若干个字符移动到字符串尾部
例: "abcdef"---->"defabc"

func stringRotation(s string, index int) string {
    if index > len(s) {
        return "error:index超出长度"
    }
    sb := []byte(s)
    //截取两部分,temp暂存前半部分,即将旋转到后半部分位置
    temp := sb[:index]
    //sb切割掉前半部分,重新赋值为后半部分
    sb = sb[index:]
    //将前半部分的值,正序追加到sb尾部
    for i := 0; i < index; i++ {
        sb = append(sb, temp[i])
    }
    return string(sb)

}

单词翻转

问题描述:翻转单词的顺序
例:I am a student 翻转 student a am I


func wordRotation(s string, index int) string {
    if index > len(s) {
        return "error:index超出长度"
    }
    sb := []byte(s)
    //截取两部分,temp暂存前半部分,即将旋转到后半部分位置
    temp := sb[:index]
    //sb切割掉前半部分,重新赋值为后半部分
    sb = sb[index:]
    //倒序追加到sb尾部
    for i := index-1; i >=0; i-- {
        sb = append(sb, temp[i])
    }
    return string(sb)

}

字符串包含

问题描述:两个字符串a,b,判断字符串b中的字符是否在a中全部出现

思路:

  • 暴力轮询法
  • 排序后轮询
  • 素数相乘法(注意数值越界)
  • 散列表map
  • 位运算法
//将a转换成26位的二进制数表示,然后分别和b中的每个字符的二进制数相与,等于0代表不包含,不等于0代表包含
//位运算法
func stringContain(a, b string) bool {
    flag := 0

    for i := 0; i < len(a); i++ {
        flag |= 1 << (a[i] - 'A')

    }
    for i := 0; i < len(b); i++ {
        if flag&(1<<(b[i]-'A')) == 0 {
            return false
        }
    }
    return true
}

相关文章

  • 字符串问题

    算法:字符串问题 字符串反转 1、问题描述:问题描述:给定一个字符串,将字符串前面若干个字符移动到字符串尾部例: ...

  • 序列比对(二十一)——中间字符串问题的算法及实现代码

    原创:hxj7 前文介绍了基序发现问题和中间字符串问题。本文给出了中间字符串的算法和实现代码。 中间字符串问题的简...

  • 回文字符串的判断及返回最大串

    回文字符串的判断及返回最大串 问题1:怎么获取一个字符串的子串? 问题2:怎么判断一个字符串是回文字符串? 问题1...

  • 循环字符串特殊问题

    循环字符串求和,出现多次问题,字符串拼接导致的。。。。

  • 两个指针遍历

    1,有一个很常见的问题叫子字符串,相关的问题有LCS(最长公共子字符串),还有最长对称子字符串问题。我们先不讨论算...

  • 字符串 字符 集合 数组 字典

    字符串 类型:String 问题: 拼接字符串 判断两个字符串是否相同 字符串索引、字符串创建 创建字符串的子串 ...

  • 迭代算法

    问题 输入一个字符串,给出该字符串所有的排列 问题分析 非常标准的排列问题,不考虑字符串重复的前提下共有n!种排列...

  • LeetCode Minimum Window Substrin

    最短子字符串问题 问题描述 给定一个字符串S,和一个字符串T,在字符串S中找出最短的包含T中所有字符的子字符串。如...

  • Reorganized String

    Reorganized String 问题 字符串问题,给定一个字符串,输出任何一种该字符串的重新排列,使得没有相...

  • 有效的括号

    一、问题 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串...

网友评论

      本文标题:字符串问题

      本文链接:https://www.haomeiwen.com/subject/blpuiftx.html