LeetCode:9. Palindromic Number(Medium)

原题链接:https://leetcode.com/problems/palindrome-number/description/

1. 题目要求:判断一个int类型整数是否是回文,空间复杂度O(1)

2. 注意:负数不是回文!!因为前面有负号!注意整数溢出问题。

3. 思路:依然采用取余取整的方法

 1 package com.huiAlex;
 2
 3 public class PalindromeNumber3 {
 4     public static void main(String[] args) {
 5         PalindromeNumber3 pn = new PalindromeNumber3();
 6         System.out.println(pn.isPalindrome(-12321));
 7         System.out.println(pn.isPalindrome(-2147483648));
 8         System.out.println(pn.isPalindrome(2147447412));
 9     }
10
11     public boolean isPalindrome(int x) {
12         // 负数不是回文!!!
13         if (x < 0) {
14             return false;
15         }
16         int num = x;
17         System.out.println(num);
18         int result = 0;
19         while (num != 0) {
20             if (result > (Integer.MAX_VALUE - num % 10) / 10) {
21                 return false;
22             }
23             result = result * 10 + num % 10;
24             num = num / 10;
25         }
26         if(x>0){
27
28         }else {
29             x = -x;
30         }
31         if (result == x) {
32             return true;
33         } else {
34             return false;
35         }
36     }
37 }
时间: 2024-11-02 13:30:45

LeetCode:9. Palindromic Number(Medium)的相关文章

LeetCode: Longest Palindromic Substring(Medium)

原题链接:https://leetcode.com/problems/longest-palindromic-substring/description/ 1. 题目要求:找出字符串中的最大回文子串 2. 注意:要考虑回文子串中的字符个数是奇数还是偶数!!! 例如,"aabaa"是一个奇数个字符的回文字符串,他的中心只有一个字符"b". "aabbaa"是一个偶数个字符的回文字符串,他的中心却有两个相同字符"bb" 3. 思路

LeetCode:39. Combination Sum(Medium)

1. 原题链接 https://leetcode.com/problems/combination-sum/description/ 2. 题目要求 给定一个整型数组candidates[ ]和目标值target,找出数组中累加之后等于target的所有元素组合 注意:(1)数组中的每一个元素可以重复用:(2)数组中不存在重复元素:(3)数组中都是正整数 3. 解题思路 采用迭代的方法检验所有元素组合 4. 代码实现 1 import java.util.ArrayList; 2 import

LeetCode:20. Valid Parentheses(Easy)

1. 原题链接 https://leetcode.com/problems/valid-parentheses/description/ 2. 题目要求 给定一个字符串s,s只包含'(', ')', '{', '}', '[' 和 ']'. 合法:形如"()[]"."{[()]}" 不合法:形如"([)]"."[[((" 判断所给字符串s是否合法. 3. 解题思路 对字符串s转换成字符数字进行遍历. 利用栈,遇到左半边字符:'

LeetCode:27. Remove Element(Easy)

1. 原题链接 https://leetcode.com/problems/remove-element/description/ 2. 题目要求 给定一个整数数组 nums[ ] 和一个整数 val,删除数组中与val相同的元素,并返回删除后的数组长度 注意:不能定义新的数组,只能使用O(1)空间大小 3. 解题思路 遍历一次,将每个元素与给定的value进行比较,不同则给nums[count++]赋予当前元素的值:相同则直接跳过,最后返回count,即为删除后数组的长度. 4. 代码实现 p

LeetCode: 63. Unique Paths II(Medium)

1. 原题链接 https://leetcode.com/problems/unique-paths-ii/description/ 原文地址:https://www.cnblogs.com/huiAlex/p/8437069.html

LeetCode——Single Number(II)

Single Number Given an array of integers, every element appears twice except for one. Find that single one. Single Number II Given an array of integers, every element appears three times except for one. Find that single one. Note: Your algorithm shou

C#刷遍Leetcode面试题系列连载(5):No.593 - 有效的正方形

上一篇 LeetCode 面试题中,我们分析了一道难度为 Easy 的数学题 - 自除数,提供了两种方法.今天我们来分析一道难度为 Medium 的面试题. 系列教程索引 传送门:https://enjoy233.cnblogs.com/articles/leetcode_csharp_index.html C#刷遍Leetcode面试题系列连载(1) - 入门与工具简介 C#刷遍Leetcode面试题系列连载(2): No.38 - 报数 C# 刷遍 Leetcode 面试题系列连载(3):

LeetCode OJ:Pascal&#39;s Triangle(帕斯卡三角)

Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5,Return [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 帕斯卡三角,很简单的问题,见代码: 1 class Solution { 2 public: 3 vector<vector<int>> generate(int numRows) {

Android应用开发:网络工具——Volley(二)

引言 在Android应用开发:网络工具--Volley(一)中结合Cloudant服务介绍了Volley的一般使用方法.当中包括了两种请求类型StringRequest和JsonObjectRequest.一般的请求任务相信都能够通过他们完毕了,只是在千变万化的网络编程中,我们还是希望能够对请求类型.过程等步骤进行全然的把控.本文就从Volley源代码角度来分析一下.一个网络请求在Volley中是怎样运作的.也能够看作网络请求在Volley中的生命周期. 源头RequestQueue 在使用V