1、回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
例如,121 是回文,而 123 不是。
解题思路:
通过计算 1221 / 1000, 得首位1
通过计算 1221 % 10, 可得末位 1
进行比较
再将 22 取出来继续比较,
class Solution {
public boolean isPalindrome(int x) {
{
//边界判断
if (x < 0) return false;
int div = 1;
//用一个变量记录数字的最高位的值,如12456的div=10000
while (x / div >= 10) div *= 10;
while (x > 0) {
int left = x / div;
int right = x % 10;
if (left != right) return false;
//此步骤的作用是去掉首位和末位
x = (x % div) / 10;
//去掉首位和末位之后,少了两位值,最高位的值应该降低100倍。
div /= 100;
}
return true;
}
}
}
2、两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。
class Solution {
public int[] twoSum(int[] nums, int target

文章介绍了Java编程中的四个问题:回文数判断,利用HashMap实现两数之和查找,数组操作,以及字符串处理(最长公共前缀和有效括号检查)。通过这些例子展示了HashMap、数组、栈等数据结构在解决实际问题中的应用。

7889

被折叠的 条评论
为什么被折叠?



