有段时间没有写代码了,就上Leetcode练练手,先做几个简单的题目开个头,从其中也发现了自己的一些不足,感觉自己STL也该开始慢看了。
Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not use the same element twice. Example: Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1].
测试样例是vector类型的数据,有几种求解方法,笔者选择的是暴力求解,或者可以通过哈希表的方法求解,但是笔者对于STL的一些东西还不是很了解,只能暂时望而却步。写代码的时候要考虑问题无解的情况。
Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 Note: The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
需要考虑负数和翻转溢出的情况,long的类型也是32bit的,所以选择long long类型,比较时借用常量后缀。
Determine whether an integer is a palindrome. Do this without extra space.
可以使用翻转再比较的方法,或者依次取第一位和最后一位来比较。负数不属于回文数。
新闻热点
疑难解答