Rearch Interest: Visualization">
2. 两数相加
题目描述
给定两个非空链表,表示两个非负整数。
每位数字按照逆序存储,每个节点只能存储一位数字。
请你将两个数相加,并且以相同形式返回一个表示和的链表。
你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
给定两个非空链表,表示两个非负整数。
每位数字按照逆序存储,每个节点只能存储一位数字。
请你将两个数相加,并且以相同形式返回一个表示和的链表。
你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
实现 strStr()
函数。 给定一个 haystack
字符串和一个 needle
字符串,在 haystack
字符串中找出 needle
字符串出现的第一个位置
(从0
开始)。如果不存在,则返回 -1
。
示例 1: >输入: haystack = "hello"
,
needle = "ll"
>输出: 2
示例 2: >输入: haystack = "aaaaa"
,
needle = "bba"
>输出: -1
说明:
当 needle
是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。
对于本题而言,当 needle
是空字符串时我们应当返回
0
。 这与C语言的 strstr()
以及
Java的 indexOf()
定义相符。
设计一个迭代器,除了支持hasNext
和next
操作之外,还支持peek
操作。
实现PeekingIterator
类:
PeekingIterator(int[] nums)
使用指定整数数组
nums
初始化迭代器。
int next()
返回数组中的下一个元素,并将指针移动到下个元素处。
bool hasNext()
如果数组中存在下一个元素,返回
true
;否则,返回 false
。
int peek()
返回数组中的下一个元素,但
不 移动指针。
每位数字按照逆序存储,每个节点只能存储一位数字。
给你一个数组nums
和一个值val
,你需要原地移除所有数值等于val
的元素,并返回移除后数组的新长度。
不要使用额外的数组空间,你必须仅使用\(O(1)\)额外空间并原地修改输入数组。
元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。