博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
844. Backspace String Compare判断删除后的结果是否相等
阅读量:5037 次
发布时间:2019-06-12

本文共 1739 字,大约阅读时间需要 5 分钟。

[抄题]:

Given two strings S and T, return if they are equal when both are typed into empty text editors. # means a backspace character.

Example 1:

Input: S = "ab#c", T = "ad#c"Output: trueExplanation: Both S and T become "ac".

Example 2:

Input: S = "ab##", T = "c#d#"Output: trueExplanation: Both S and T become "".

Example 3:

Input: S = "a##c", T = "#a#c"Output: trueExplanation: Both S and T become "c".

Example 4:

Input: S = "a#c", T = "b"Output: falseExplanation: S becomes "c" while T becomes "b".

 [暴力解法]:

时间分析:

空间分析:

 [优化后]:

时间分析:

空间分析:

[奇葩输出条件]:

[奇葩corner case]:

[思维问题]:以为要用stack:可是应该考虑这个占的空间比较大

[英文数据结构或算法,为什么不用别的数据结构或算法]:

统计numOfBlankspaces的个数,然后看i j是否同时倒数到1

[一句话思路]:

[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):

[画图]:

[一刷]:

[二刷]:

[三刷]:

[四刷]:

[五刷]:

  [五分钟肉眼debug的结果]:

[总结]:

统计numOfBlankspaces的个数,然后看i j是否同时倒数到1

[复杂度]:Time complexity: O(n) Space complexity: O(n)

[算法思想:迭代/递归/分治/贪心]:

[关键模板化代码]:

[其他解法]:

[Follow Up]:

[LC给出的题目变变变]:

 [代码风格] :

 [是否头一次写此类driver funcion的代码] :

 [潜台词] :

 

class Solution {    public boolean backspaceCompare(String S, String T) {        for (int i = S.length() - 1, j = T.length() - 1; ; i--, j--) {            for (int numOfBlankspaces = 0; i >= 0 && (numOfBlankspaces > 0 || S.charAt(i) == '#'); i--) {                numOfBlankspaces = S.charAt(i) == '#' ? numOfBlankspaces + 1 : numOfBlankspaces - 1;             }            for (int numOfBlankspaces = 0; j >= 0 && (numOfBlankspaces > 0 || T.charAt(j) == '#'); j--) {                numOfBlankspaces = T.charAt(j) == '#' ? numOfBlankspaces + 1 : numOfBlankspaces - 1;             }            if (i == -1 || j == -1 || S.charAt(i) != T.charAt(j)) return (i == -1) && (j == -1);        }    }}
View Code

 

转载于:https://www.cnblogs.com/immiao0319/p/9470909.html

你可能感兴趣的文章
js-创建对象的几种方式
查看>>
JDK JRE Java虚拟机的关系
查看>>
2018.11.20
查看>>
word20161215
查看>>
12th week blog
查看>>
dijkstra (模板)
查看>>
python小记(3)
查看>>
编译Linux驱动程序 遇到的问题
查看>>
大型分布式网站架构技术总结
查看>>
HDU 1017[A Mathematical Curiosity]暴力,格式
查看>>
[算法之美] KMP算法的直观理解
查看>>
EntityFramework 性能优化
查看>>
Python学习-文件操作
查看>>
CSS 清除所有的边距
查看>>
jquery.validate.js使用指南
查看>>
java.util.TaskQueue的最小堆排序算法的应用
查看>>
USACO Cow Pedigrees
查看>>
开坑写博客1-2013电子设计大赛-四旋翼自主飞行器
查看>>
输入一个半径求圆的面积和周长
查看>>
出现Bad command or the file name的原因
查看>>