描述
给你一个 32 位的有符号整数 x ,返回 x 中每位上的数字反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
解题思路
翻转需要考虑溢出,所以考虑转换成字符数组再翻转,判断是否存在溢出再转换成整型。
独立思考,以行践言
给你一个 32 位的有符号整数 x ,返回 x 中每位上的数字反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
翻转需要考虑溢出,所以考虑转换成字符数组再翻转,判断是否存在溢出再转换成整型。
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。
这道题和之前写过的翻转数组的题目类似,双指针遍历到前后两个指针相会即可完成原地翻转。
给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。
你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。
开始想直接找出旋转90°变换前后i j 之间的关系,后来仔细观察后发现,旋转90相当于先沿对角线交换,再沿中轴线交换元素。分成两次来计算,可发现i j 之间的简单变换规律。
判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。
根据上述三个规则,遍历数组的时候,利用hashset判断是否存在相同元素即可。第三个规则利用 i j之间的关系即可分出9个小数独网格。
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。
你可以按任意顺序返回答案。
hash表或者双循环,leetcode第一道题,很常规的办法