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)\)额外空间并原地修改输入数组。
元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。