LeetCode中字符串的示例分析

小编给大家分享一下LeetCode中字符串的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

专注于为中小企业提供成都网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业赤峰林西免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

字符串是由0个或多个字符组成的有限序列,一般记为s=a1a2a3……an,它是编程语言中表示文本的数据类型

LeetCode中字符串的示例分析

字符串和数组有许多相似之处,例如使用名称[下标]来得到一个字符

本文由“壹伴编辑器”提供技术支持

 

字符串的特点

1. 字符串的基本操作对象通常是字符串整体或子串

    操作对象是其整体很好理解,但是为什么不是单个字符而是子串?

    例如:"I Like you",这是一个字符串,当你按照单个字符反向输出时就变成这样了"uoy ekiL I",这样的字符串没有意义,我们通常期望字符串反向输出后的单词依然保持原来的结构“you Like I”

    其中,每个单词就是原字符串的子串

2. 字符串操作比其他数据类型复杂很多

    例如字符串的比较和连接操作(接下来仔细详解)

 

字符串的比较

字符串有自己的比较函数,但与编程语言有关:

  • 由于Python、C++……支持运算符重载,使用"=="比较

  • 由于Java……不支持运算符重载,不能使用上述连等号

C++:

LeetCode中字符串的示例分析

Java:

LeetCode中字符串的示例分析

 

字符串的连接操作

不同编程语言中,字符串可能是可变的,也可能是不可变的

Python中字符串不可变的

  • 在C++……中字符串是可变的,可以像修改数组一样修改字符串

  • 在JAVA、Python……中字符串不可变

C++:

LeetCode中字符串的示例分析

Python:

LeetCode中字符串的示例分析

在字符串不可变的编程语言中,进行字符串的连接操作会带来bug,因为不可修改性,哪怕你只是修改其中的一个字符,也是必须要创建一个新的字符串的

  • C++……直接利用for循环就可以进行字符串连接

  • Java、Python……则需要创建一个新的字符串,且在连接前就要分配足够的空间,,赋值旧字符串的内容附加到新字符串

C++:

LeetCode中字符串的示例分析

Java:

LeetCode中字符串的示例分析


看完了这篇文章,相信你对“LeetCode中字符串的示例分析”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


网站标题:LeetCode中字符串的示例分析
标题来源:http://ybzwz.com/article/ipshcs.html