NOTE

判断回文

判断字符串是否回文:翻转与双指针。

Data Structures & Algorithms创建于 更新于 约 1 分钟读完historical

这是历史学习笔记,可能存在过时或不完整的理解。

1. 题目描述

给定一个字符串,请编写一个函数判断该字符串是否回文。如果回文请返回true,否则返回false。

2. 思路

  • 翻转
  • 双指针

3. 实现

3.1. 翻转

func judge(str string) bool {
	return str == reverse2(str)
}

func reverse2(str string) string {
	runes := []rune(str)
	i, j := 0, len(runes)-1
	for i < j {
		runes[i], runes[j] = runes[j], runes[i]
		i++
		j--
	}
	return string(runes)
}

3.2. 双指针

func judge( s string ) bool {
    left := 0
    right := len(s)-1
    for left < right {
        if s[left] != s[right] {
            return false
        }
        left++
        right--
    }
    return true
}

4. 参考

讨论

使用 GitHub 账号参与讨论,评论会保存在 GitHub Issues 中。在 GitHub 查看