LeetCode 0844.比较含退格的字符串【Go】

简介: LeetCode 0844.比较含退格的字符串【Go】

比较含退格的字符串

LeetCode844. 比较含退格的字符串

题目描述

给定st两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true# 代表退格字符。

注意:如果对空文本输入退格字符,文本继续为空。

示例 1:

输入:s = "ab#c", t = "ad#c"
输出:true
解释:s 和 t 都会变成 "ac"。

示例 2:

输入:s = "ab##", t = "c#d#"
输出:true
解释:s 和 t 都会变成 ""。

示例 3:

输入:s = "a#c", t = "b"
输出:false
解释:s 会变成 "c",但 t 仍然是 "b"。

思路

题目要求:

  • 输入两个含退格的字符串,比较是否相等
  • 相等输出true,反之输出false

退格就是移除前面的一个字符,考虑使用双指针法。当快指针发现#,慢指针退一个,否则,慢指针移动。

注意

slowIndex0时,不能回退,会索引越界产生编译错误。

代码

Go

func backspaceCompare(s string, t string) bool {
  sNew := getString(s)
  tNew := getString(t)
  if sNew == tNew {
    return true
  } else {
    return false
  }
}
func getString(s string) string {
  tempArray := []string{}
  for _, item := range s {
    tempArray = append(tempArray, string(item))
  }
  slowIndex := 0
  for fastIndex := 0; fastIndex < len(tempArray); fastIndex++ {
    if s[fastIndex] != '#' {
      tempArray[slowIndex] = tempArray[fastIndex]
      slowIndex += 1
    } else if slowIndex != 0 {
      slowIndex -= 1
    }
  }
  if slowIndex == 0 {
    return ""
  }
  var result string
  for i := 0; i < slowIndex; i++ {
    result += tempArray[i]
  }
  return result
}

Link

GitHub

目录
相关文章
|
8天前
|
Go
Go字节数组与字符串相互转换
Go字节数组与字符串相互转换
21 3
|
6天前
|
存储 Go
go语言字符串变小写
go语言字符串变小写
|
2月前
|
存储 算法
LeetCode第43题字符串相乘
LeetCode第43题"字符串相乘"的解题方法,通过使用数组存储乘积并处理进位,避免了字符串转换数字的复杂性,提高了算法效率。
LeetCode第43题字符串相乘
|
2月前
|
算法 Java
LeetCode第28题找出字符串中第一个匹配项的下标
这篇文章介绍了LeetCode第28题"找出字符串中第一个匹配项的下标"的两种解法:暴力解法和KMP算法,并解释了KMP算法通过构建前缀表来提高字符串搜索的效率。
LeetCode第28题找出字符串中第一个匹配项的下标
|
2月前
|
算法
LeetCode第8题字符串转换整数 (atoi)
该文章介绍了 LeetCode 第 8 题字符串转换整数 (atoi)的解法,需要对字符串进行格式解析与校验,去除前导空格和处理正负号,通过从高位到低位的计算方式将字符串转换为整数,并处理越界情况。同时总结了这几道题都需要对数字的表示有理解。
LeetCode第8题字符串转换整数 (atoi)
|
2月前
|
Go 开发者
|
2月前
|
JSON Go 数据格式
Go实现json字符串与各类struct相互转换
文章通过Go语言示例代码详细演示了如何实现JSON字符串与各类struct之间的相互转换,包括结构体对象生成JSON字符串和JSON字符串映射到struct对象的过程。
14 0
|
4月前
|
算法
力扣每日一题 6/23 字符串/模拟
力扣每日一题 6/23 字符串/模拟
31 1
|
4月前
|
索引
力扣每日一题 6/27 字符串 贪心
力扣每日一题 6/27 字符串 贪心
27 0
|
4月前
|
Python
力扣随机一题 模拟+字符串
力扣随机一题 模拟+字符串
24 0