随笔分类 - 力扣-程序员面试金典题目整理
摘要:字符串压缩 思路: 使用双指针进行模拟即可 class Solution: def compressString(self, S: str) -> str: res = [] # i:左指针,j:右指针 i, j, ls = 0, 0 ,len(S) while i < ls: # 记数当前字符的连
阅读全文
摘要:首个祖先 方法一:递归 三种情况: p、q分别在根节点的左右子树中,那么祖先就是root p、q均位于根节点的左子树或右子树中,那么祖先在root.left或者root.right中递归。 p、q的其中一个节点是根节点,祖先为root var lowestCommonAncestor = funct
阅读全文
摘要:回文排列 思路:回文排列的特征之一就是如果字符串中每个字符的个数都是两个,或者只有只有一个字符个数为奇数个。只有上述两种结果。 class Solution: def canPermutePalindrome(self, s: str) -> bool: // 将字符串转成个数字典 s_dic =
阅读全文
摘要:判定字符唯一 简短思路:使用Set()直接进行去重操作,然后判断原来的长度和现在的长度是否一致。 class Solution: def isUnique(self, astr: str) -> bool: // set去重 temp = list(set(astr)) // 判断长度 if len
阅读全文