2562. 找出数组的串联值
算法掌握:
- 字符串类型转换
- 双指针
- 模拟
解题思路:
简单题没什么好说的,双指针(双端指针)模拟往中间遍历进行拼接赋值累计即可 注意的是如果数组个数为奇数个要单独判断中间的值
java code:
class Solution {
public long findTheArrayConcVal(int[] nums) {
long res = 0;
int n = nums.length;
for(int i = 0, j = n - 1; i < j; i++, j--){
long sum = Long.parseLong("" + nums[i] + nums[j]);
res += sum;
}
if(n % 2 == 1) res += nums[n / 2];
return res;
}
}
c++ code:
class Solution {
public:
long long findTheArrayConcVal(vector<int>& nums) {
int n = nums.size();
long long res = 0;
for(int i = 0, j = n - 1; i < j; i++, j--){
res += stoi(to_string(nums[i]) + to_string(nums[j]));
}
if(n % 2) res += nums[n / 2];
return res;
}
};