2490. 回环句
2023-04-12 22:25 作者:目标力扣Knight | 我要投稿

摘要
C++:匿名函数的定义,捕获,返回值定义
python:逆序切片,
str.split()
方法
方法一:Brute-Force
模拟题目要求,一般地,分别使用方法/自定义函数对字符串按照空格切割,逐次遍历数组中的每一个元素,在题目的两个要求中,第一个优先级最高,有限判断首尾单词的头字母和尾字母是否相等,然后从第二个单词开始,逐次判断当前单词的首字母是否与上一个单词的尾字母相同;
Python版本
C++版本
C++版本2
复杂度分析
时间复杂度:O(C)。n 作为
sentence
数组的长度,代表的是其中每一个字母,我们假设两个字母即可构成一个单词,那么至多有 n / 2 = 250个单词。切割单词和校验条件,两次遍历,复杂度至多不超过500.空间复杂度:O(C)。同上可得,此题空间复杂度在于存储单词,至多250个。
备注
容易犯错的地方:遵循编程范式以及节约时间,务必为匿名函数指定返回值类型,以及在指定后一定记得使用
return obj
及时范围;在读取嵌套数组时,先写注释厘清位序来源,再写代码,对于二位数组而言,一维来自当前遍历的位序,二维来自与一位读取的单词的长度,此外:即使C++支持逆序切片,使用正序读取可以降低出错的概率;:
result[n-1][result[n-1].length()-1]
力扣不再检查形式上的返回值,因此可以将
True
False
两种返回值放在逻辑判断语句中,仍然能够通过检查;C++还可以通过
istringstream
将字符串读入标准输入流,另起string类型容器和变量,循环从istringstream