[LeetCode]9. Palindrome Number
来源:互联网 发布:c语言程序编程教学 编辑:程序博客网 时间:2024/05/20 20:18
[LeetCode]9. Palindrome Number
题目描述
思路1
遍历一次,栈保存前1/2, 后1/2比较
代码1
// version 1bool isPalindrome(int x) { string num = std::to_string(x); stack<char> s; bool res = true; int len = num.size(), flag = floor(len / 2); for (int i = 0; i < len; ++i){ if (len % 2 && i == flag) continue; if (i < flag){ s.push(num[i]); } else{ if (s.top() != num[i]) { res = false; break; } s.pop(); } } return res;}
思路2
不需要栈,遍历1/2即可
代码2
// version 2bool isPalindrome(int x) { string num = std::to_string(x); bool res = true; int len = num.size(), flag = floor(len / 2); for (int i = 0; i < flag; ++i){ if (num[i] != num[len - i - 1]){ res = false; break; } } return res;}
思路3
考虑空间复杂度要求O(1)
代码3
// version 3bool isPalindrome(int x) { int len = (int)(log(x) / log(10) + 1), mid = (floor)(len / 2); int res = 0, source = x; for (int i = 0; i < mid; ++i){ res += (x % 10) * pow(10, i) + (x % 10) * pow(10, len - i - 1); x = x / 10; } if (len % 2){ res += (x % 10) * pow(10, mid); } return res == source;}
思路4
考虑空间复杂度基础上优化时间
代码
// version 4bool isPalindrome(int x) { if (x < 0 || x && x % 10 == 0) return false; int sum = 0; while (sum < x){ sum = sum * 10 + x % 10; x /= 10; } return sum == x || x == sum / 10;}
0 0
- LeetCode 9. Palindrome Number
- [LeetCode]9.Palindrome Number
- LeetCode --- 9. Palindrome Number
- LeetCode 9.Palindrome Number
- [Leetcode] 9. Palindrome Number
- 【leetcode】 9. palindrome number
- [LeetCode] 9.Palindrome Number
- LeetCode : 9. Palindrome Number
- LeetCode 9.Palindrome Number
- 【LeetCode】9. Palindrome Number
- 9. Palindrome Number LeetCode
- leetcode 9. Palindrome Number
- LeetCode: 9. Palindrome Number
- leetcode 9. Palindrome Number
- LeetCode--9. Palindrome Number
- 【LeetCode】9. Palindrome Number
- leetcode 9. Palindrome Number
- Leetcode 9. Palindrome Number
- Android实现EditText文本颜色渐变
- 成员变量和局部变量的区别
- OC是动态语言体现在什么方面
- 打气球dfs
- android中如何设计触摸屏驱动touch screen driver
- [LeetCode]9. Palindrome Number
- LINUX操作系统VIM的安装和配置
- Android Launcher详解
- Lombok入门
- spring中配置log4j
- 7对数字
- Intersection of Two Linked Lists
- 瀑布流布局ajax插件使用
- 计算几何相关