力扣算法
qq_37685457
这个作者很懒,什么都没留下…
展开
-
206. 反转链表
反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL解题思路:设置三个指针,pre,cur,next,遍历所有节点,依次将所有节点的后继节点指向前一个节点。public class Solution { public ListNode reverseLi...原创 2019-07-14 19:28:56 · 88 阅读 · 0 评论 -
24. 两两交换链表中的节点
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.解题思路:设置一个辅助头结点,交换两个节点的位置,需要操作三个节点,所以每次操作三个节点。/** * Definition for ...原创 2019-07-14 20:04:50 · 103 阅读 · 0 评论 -
20. 有效的括号
给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:输入: "(]"输出: false示例4:输...原创 2019-07-14 20:07:13 · 91 阅读 · 0 评论 -
232. 用栈实现队列
使用栈实现队列的下列操作:push(x) -- 将一个元素放入队列的尾部。pop() -- 从队列首部移除元素。peek() -- 返回队列首部的元素。empty() -- 返回队列是否为空。示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2); queue.peek(); // 返回 1queue....原创 2019-07-14 22:51:49 · 84 阅读 · 0 评论 -
225. 用队列实现栈
使用队列实现栈的下列操作:push(x) -- 元素 x 入栈pop() -- 移除栈顶元素top() -- 获取栈顶元素empty() -- 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是push to back, peek/pop from front, size, 和is empty这些操作是合法的。你所使用的语言也许不支持队列。你可以使用 list 或者...原创 2019-07-14 23:06:13 · 110 阅读 · 0 评论