当前位置:网站首页>腾讯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;
}
}
边栏推荐
猜你喜欢
随机推荐
线性代数学习笔记1:何为线性代数
Ribbon本地实现负载均衡
Kubernetes 基本概念
OD-Model [4]: SSD
ROS2自学笔记:launch文件完整编写流程
深度学习:目标检测入门知识
MySQL8.0.26 installation and configuration tutorial (windows 64-bit)
2022.7.30 js笔记 运算符和流程控制符、循环
Reasons and solutions for Invalid bound statement (not found)
7-44 基于词频的文件相似度 (30 分)
#{}和${}的区别
LeetCode:第304场周赛【总结】
[Remote Control Development Basic Tutorial 3] Crazy Shell Open Source Formation UAV-ADC (Joystick Control)
ASP WebShell 后门脚本与免杀
bgp机房的动态路由和静态路由的区别
给你一个大厂面试的机会,你能面试上吗?进来看看!
Hit the programmer interview scene: What did Baidu interviewers ask me?
Keil开发环境安装教程
为什么四个字节的float表示的范围比八个字节的long要广
线性代数学习笔记3-3:逆矩阵的理解









