当前位置:网站首页>腾讯50题
腾讯50题
2022-08-02 03:15:00 【wzf6667】
- 两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。
请你将两个数相加,并以相同形式返回一个表示和的链表。
你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
示例 1:
输入:l1 = [2,4,3], l2 = [5,6,4]
输出:[7,0,8]
解释:342 + 465 = 807.
思路:设置进位,需要注意的是,如果加到最后一位进位不为0,则需要向前进1
sum = l1+l2+carry mod 10
carry = l1 + l2 + carry / 10
头节点用来返回
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */
class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode head = null;
ListNode tail = null;
int carry = 0;
int sum = 0;
while(l1 != null || l2 != null){
int num1 = l1== null? 0:l1.val;
int num2 = l2== null? 0:l2.val;
sum = num1+num2+carry;
if(head == null){
head =tail= new ListNode(sum%10);
}
else{
tail.next = new ListNode(sum%10);
tail = tail.next;
}
carry = sum/10;
if(l1!=null){
l1 = l1.next;
}
if(l2!=null){
l2 = l2.next;
}
}
if(carry > 0){
tail.next = new ListNode(1);
}
return head;
}
}
- 回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
例如,121 是回文,而 123 不是。
示例 1:
输入:x = 121
输出:true
思路:反转整个数字,x%10取出最后一个数,x/10删除最后一个数
class Solution {
public boolean isPalindrome(int x) {
int res = 0;
int backup = x;
if(x < 0){
return false;
}
while(x > 0){
int temp = x % 10;
x = x / 10;
res = res*10 + temp;
}
return backup == res;
}
}
- 盛最多水的容器
给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。
找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。
返回容器可以储存的最大水量。
说明:你不能倾斜容器。
思路: 双指针,一开始指向一头一尾,计算res,如果左边大,则右值向左移动,反之左值向右
class Solution {
public int maxArea(int[] height) {
int start = 0;
int end = height.length-1;
int res = 0;
while(end > start){
res = Math.max(res,Math.min(height[start],height[end]) * (end-start));
if(height[start] < height[end]){
start++;
}
else{
end--;
}
}
return res;
}
}
边栏推荐
- 2022年最新一篇文章教你青龙面板拉库,拉取单文件,安装依赖,设置环境变量,解决没有或丢失依赖can‘t find module之保姆教程(附带几十个青龙面板脚本仓库)
- Double Strings (别总忘记substr)
- #{}和${}的区别
- WebShell connection tools (Chinese kitchen knife, WeBaCoo, Weevely) use
- WebShell Feature Value Summary and Detection Tool
- 一种基于行为空间的回声状态网络参数优化方法
- 01-Node-Express系统框架搭建(express-generator)
- PHP WebShell 免杀
- 聊聊flink的BoundedOutOfOrdernessTimestampExtractor
- rem适配
猜你喜欢
随机推荐
第 304 场力扣周赛
[Remote Control Development Basic Tutorial 3] Crazy Shell Open Source Formation UAV-ADC (Joystick Control)
HCIP第十一天_MPLS实验
线性代数学习笔记3-1:矩阵与线性变换、常见矩阵(逆矩阵、伴随矩阵、正交矩阵等)
为什么四个字节的float表示的范围比八个字节的long要广
PHP WebShell Free Kill
Go语学习笔记 - gorm使用 - 原生sql、命名参数、Rows、ToSQL Web框架Gin(九)
一个资深测试工程师面试一来就问我这些题目
【遥控器开发基础教程3】疯壳·开源编队无人机-ADC(摇杆控制)
"Paid paddling" stealthily brushes Brother Ali's face scriptures, challenges bytes three times, and finally achieves positive results
STL入门基础 map和set容器
Foundry教程:使用多种方式编写可升级的智能代理合约(下)
2022.7.30 js notes Operators and flow controllers, loops
Week 304 Dunk
(forwarded) HashCode summary (2)
蓝鲸DevOps荣获平台类工具企业选择率第一
rem adaptation
输入延迟切换系统的预测镇定控制
WebShell特征值汇总与检测工具
Day34 LeetCode









