Leetcode OJ如何判断?

时间:2015-03-13 08:22:10

标签: c++

我现在正在解决Leetcode OJ的问题,ZigZag Conversion。以下代码是我的答案:

class Solution {
public:
    string convert(string s, int nRows) {
        int n = (int)s.size(), block_size = (nRows - 1);
        if (n <= nRows || nRows == 1)
            return s;

        string re = "";

        int len = nRows - 2 + nRows;

        for (int left = len, right = 0, i = 0; i < nRows; ++i) {
            bool is_left = false;
            char current = 0;
            int offset = 0;

            while (i + offset <= n) {
                if (!is_left) {
                    if (left != 0) {
                        current = s[i + offset];
                        re.push_back(current);
                    }
                    offset += left;
                    is_left = true;
                } else {
                    if (right != 0) {
                        current = s[i + offset];
                        re.push_back(current);
                    }
                    offset += right;
                    is_left = false;
                }
            }
            left -= 2;
            right = len - left;
        }
        return re;
    }
 };

提交后,OJ回答:提交结果:错误答案。但是,它也说我的代码&#39;输出是&#34; ACB&#34;并且预期答案与&#34; ACB&#34;完全相同。

当输出和预期相同时,为什么答案是错误的。 那么,Leetcode的c ++的编译器版本是什么?有时,我的g ++编译器的输出与leetcode的输出不同。

1 个答案:

答案 0 :(得分:0)

来自Leetcode论坛:

Language    Version Notes
C++          g++ 6.3