![](https://img-blog.csdnimg.cn/eee89865c08a427a9033d38e0ba74025.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构和算法
python和c++的刷题
Stephen-Chen
这个作者很懒,什么都没留下…
展开
-
【Leetcode】17回溯(电话号码的字母组合)
1.题目详情题目分析自己的想法:需要创建哈希表来存储字母和数字的结构。一开始考虑将输入的digits的长度作为变量,发现自己不会回溯。又看到了提示中限定了长度最多有4个。0 <= digits.length <= 4所以分类讨论了一下=。虽然通过了,但是还是用回溯比较好`class Solution: def letterCombinations(self, digits: str) -> List[str]: self.hashM.原创 2022-05-26 19:09:47 · 2348 阅读 · 0 评论 -
【leetcode】链表203(移除链表元素)
题目详情题目分析需要两个链表指针,一个指向头结点的dummy节点,一个记录head节点的prev节点遍历链表,当head.val == val时删除删除的方法:prev.next = pre.next.next迭代法时间复杂度:O(N)空间复杂度:O(1)C++实现class Solution {public: ListNode* removeElements(ListNode* head, int val) { ListNode drummy ; /原创 2022-05-03 19:11:43 · 1166 阅读 · 0 评论 -
【leetcode】链表之206(反转链表)
目录题目详情题目解法-双指针C++代码python代码题目解法-递归C++代码题目详情题目解法-双指针思路:定义两个指针: prepre 和 curcur ;prepre 在前 curcur 在后。 每次让 prepre 的 nextnext 指向 curcur ,实现一次局部反转 局部反转完成之后,prepre 和 curcur 同时往前移动一个位置 循环上述过程,直至 prepre 到达链表尾部时间复杂度:O(n) 空...原创 2022-05-02 20:46:17 · 163 阅读 · 0 评论 -
数据结构和算法
本文主要全面记录自己数据结构和算法学习,将会分为多个模块。主要设计python和c++的两种语义的实现。以及Leetcode上题目的刷y目录数据结构python数据结构知识点c++数据结构知识点算法Leetcode和剑指题型数据结构类型:python数据结构知识点c++数据结构知识点算法Leetcode和剑指题型...原创 2022-04-19 10:04:57 · 1300 阅读 · 0 评论 -
Leetcode389找不同
题目详情方法1:转换为数组将字符串存放到数组中,将t数组减去s数组的元素,得到的就是想要值python代码的实现class Solution: def findTheDifference(self, s: str, t: str) -> str: s_list = list(s) t_list = list(t) for i in s_list: t_list.remove(i) ..原创 2022-04-18 10:22:31 · 287 阅读 · 0 评论 -
leetcode9 回文数
目录题目描述方法一:数学解法C++实现方法二:双指针字符串法C++实现python实现题目描述给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。输入:x = 121输出:true输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个原创 2022-04-13 19:48:47 · 986 阅读 · 0 评论 -
剑指 30. 包含min函数的栈
题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); --> 返回 -3.minStack.pop();minStack.top(); --> 返回.原创 2022-04-09 17:34:16 · 1145 阅读 · 0 评论 -
剑指-09 用两个栈实现队列
题目描述用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回 -1 )示例1 输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-1]实例2输入:["CQueue","deleteHead","a..原创 2022-04-05 16:06:55 · 57 阅读 · 0 评论