摘要:
用快慢指针将列表分成两部分,将两部分列表递归排序,再将排序后的列表合并 阅读全文
用快慢指针将列表分成两部分,将两部分列表递归排序,再将排序后的列表合并 阅读全文
posted @ 2022-09-04 18:21
okokabcd
阅读(65)
评论(0)
推荐(0)
用快慢指针将列表分成两部分,将两部分列表递归排序,再将排序后的列表合并 阅读全文
还是分递归和迭代两种思路来实现,要理解链表 阅读全文
用迭代和递归来实现,迭代思路:在原镮之前建立一个空的prev节点,因为首节点会变,从head开始,将之后的一个节点移到prev之后,重复此操作直到head成为末节点为止 阅读全文
思路:先统计每个字符出现的次数,再遍历统计后的字符次数,如果是偶数次,那么一定可以是回文字符串的一部分,加上该次数;如果是奇数n字,那么加上n-1次;最后判断如果出现过奇数次的字符,那么最后结果加1。 阅读全文
思路2:遍历线字符串,只需要遍历m-n长度即可,这样可以提高运算效率。然后对每个字符,都遍历一遍子字符串,一个一个字符的对应比较,如果对应位置有不等的,则跳出循环,如果一直没有跳出循环,则说明子字符串出现了,返回起始位置即可。 阅读全文
如果我们在字符串左边加上一个加号,可以证明其不改变运算结果,且字符串可以分割成多个<运算符, 数字>对子的形式;这样一来我们就可以从左往右处理了。由于乘除的优先级高于加减,因此我们需要使用一个中间变量来存储高优先度的运算结果。 阅读全文
还可以从字符串的每个位置开始,向左向右延长,判断存在多少当前位置为中轴的由01连续二进制字符串。 阅读全文
我们可以从字符串的每个位置开始,向左向右延长,判断存在多少当前位置为中轴的回文字符串。 阅读全文
我们可以记录两个字符串每个位置的字符第一次出现的位置,如果两个字符串中相同位置的字符与它们第一次出现的位置一样,那么这两个字符串同构。例如:paper和title,当我们现在遍历到第三个字符p和t,发现它们第一次出现的位置都在第一个字符,说明目前位置满足同构。 阅读全文
建立一个哈希表映射,一共26个字母,可以用一个数组来代替哈希表,我们先判断两个字符串长度不相同返回false。然后把s中所有字符出现个数统计起来,存入一个大小为26的数组中。再统计t字符串,如果发现不匹配则返回false。 阅读全文