Leetcode春季打卡活动 第二题:206. 反转链表 206. 反转链表 Talk is cheap . Show me the code . /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* h…
Leetcode 春季打卡活动 第一题:225. 用队列实现栈 Leetcode 春季打卡活动 第一题:225. 用队列实现栈 解题思路 这里用了非常简单的思路,就是在push函数上做点操作,让队头总是最后一个元素即可. 也就是说,每新进一个新元素,就把前面的所有元素逐个弹出放到队尾即可. Talk is cheap . Show me the code . class MyStack { public: queue<int> que; int size,temp; /** Initializ…
Leetcode春季打卡第四天:994. 腐烂的橘子 Leetcode春季打卡第四天:994. 腐烂的橘子 思路 思路是采用广度优先搜索,一层一层遍历. 首先先扫描矩阵,将坏橘子放进队列,记录正常橘子的个数. 正常橘子个数为零,直接返回0 不为零就开始BFS 开始按层数层序遍历,将队列里的坏橘子放出来,去找会被污染的正常橘子,将其加入队列. 每次正常橘子加入队列更新矩阵情况,并将正常橘子的个数减一 每历遍完一层,更新需要的时间,自加 返回答案,如果正常橘子全军覆没,返回污染时间,没有全军覆没,返…
206. 反转链表 206. Reverse Linked List 题目描述 反转一个单链表. 每日一算法2019/5/19Day 16LeetCode206. Reverse Linked List 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表.你能否用两种方法解决这道题? Java 实现 ListNode 类 class ListNode { in…
LeetCode206 反转链表 思路 代码 # # @lc app=leetcode.cn id=206 lang=python3 # # [206] 反转链表 # # https://leetcode-cn.com/problems/reverse-linked-list/description/ # # algorithms # Easy (61.53%) # Likes: 624 # Dislikes: 0 # Total Accepted: 112.8K # Total Submiss…
206. 反转链表 问题描述 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表.你能否用两种方法解决这道题? 问题分析 开始我们定义一个虚拟的头结点a,他的下一个节点为head.假设我们到了某一步已经反转了一些元素:a->[], b->c->d->...,其中[]中是已经反转好的元素,b->c->d-&g…
206. 反转链表 题目:反转一个单链表. 进阶:链表可以迭代或递归地反转.你能否两个都实现一遍? 非递归代码: class Solution { public ListNode reverseList(ListNode head) { if(head == null) return null; ListNode pre = null, nex = null; while(head != null){ nex = head.next; head.next = pre; pre = head; h…
206. 反转链表 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表.你能否用两种方法解决这道题? /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val =…
PAT乙级真题及训练题 1025. 反转链表 (25) 感觉几个世纪没打代码了,真是坏习惯,调了两小时把反转链表调出来了,心情舒畅. 这道题的步骤 数据输入,数组纪录下一结点及储存值 创建链表并储存上下结点"位置" 按照规律遍历一遍链表并反转链表 输出整条反转完的链表 #include <iostream> #include <cstdio> using namespace std; int nextnum[100010],value[100010]; stru…
// 面试题24:反转链表 // 题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的 // 头结点. #include <iostream> #include "List.h" ListNode* ReverseList(ListNode* pHead) { ListNode* pReversedHead = nullptr;//设置三个节点变量,第一是已经被反转的头节点(原链表尾节点) ListNode* pNode = pHead;//第二个是当前节…