2023/10/12

203 阅读1分钟

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;
    }
};