![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Leetcode
没事多刷刷题
qq_43556776
这个作者很懒,什么都没留下…
展开
-
Leetcode:两两交换链表中的节点(#24)
题目描述: 解法: 1.迭代 思路:将两个节点操作看为一步,让前驱节点指向后驱节点的下一节点,后驱节点指向前驱节点,以及前驱结点的前一节点指向后驱节点,达到交换节点的目的。条件是前驱结点和后驱节点都不为空。 代码: class Solution { public: ListNode* swapPairs(ListNode* head) { ListNode* dump = new ListNode(-1); //哑节点指向该链表 dump-&原创 2020-08-05 11:59:39 · 142 阅读 · 0 评论 -
Leetcode:删除链表的倒数第N个节点(#19)
题目描述: 解法: 1.两次遍历算法 思路:第一次遍历链表得到链表的长度,第二次到对应位置便执行删除结点操作。 代码: class Solution { public: ListNode* removeNthFromEnd(ListNode* head, int n) { ListNode* pre = new ListNode(-1); //添加一个哑结点 pre->next = head; //让哑结点指向链表的头结点原创 2020-08-03 13:10:37 · 121 阅读 · 0 评论 -
Leetcode:反转链表(#206)
题目描述: 解法: 1.迭代(头插法): class Solution { public: ListNode* reverseList(ListNode* head) { ListNode* newHead = nullptr; //新链表的头节点 ListNode* next = nullptr; //保存头节点的下一个节点地址 while(head != nullptr) { //迭代头插入新链表 next = head->原创 2020-08-02 23:24:26 · 136 阅读 · 0 评论 -
LeetCode:151. 翻转字符串里的单词
给定一个字符串,逐个翻转字符串中的每个单词。 示例 1: 输入: “the sky is blue” 输出: “blue is sky the” 示例 2: 输入: " hello world! " 输出: “world! hello” 解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 示例 3: 输入: “a good example” 输出: “example good a” 解释:如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。 ..原创 2020-06-06 15:45:51 · 69 阅读 · 0 评论 -
过河问题,C++(非搜索算法实现)
问题描述:农夫带着狼, 羊, 白菜过河,如果农夫没有在旁边看着它们, 狼就会吃羊, 羊会吃白菜, 但是小船一次只能载一人一物。 主要过程: 判断农夫状态 -> 决定去右岸还是回左岸 去右岸 -> 带哪一件物品(先判断这件物品是不是我刚带回来的!) 带哪一件物品 -> 模拟带走以后,会不会相互伤害 -> 不相互伤害则带走(相互伤害则跳过) 回左岸 -> 若独自一人回去...原创 2020-05-07 15:00:20 · 1076 阅读 · 1 评论