美文网首页
2019-01-12 &&iterator

2019-01-12 &&iterator

作者: MesutleFire | 来源:发表于2019-01-12 15:03 被阅读0次

    Reference code

    class Solution {
    public:
        vector<int> twoSum(vector<int>& nums, int target) {
             bool find_res = false;
             vector<int> res;
             for( auto i = nums.begin(); i != nums.end(); i++ ){ 
                int temp = target - *i;
                
                for( auto j = nums.begin(); j != nums.end(); j++ ){
                    if( *j == temp && j!=i ){
                        res.push_back( &*i - &*nums.begin() );
                        res.push_back( &*j - &*nums.begin() );
                        find_res = true;
                     }  
                 }
                if (find_res) break; 
             }
             return res;
        }
    };
    

    Essential Tips

    • i的类型是 vector<int>::iterator, 即它是向量nums的迭代器,不是nums中的元素。
    • *i能够返回迭代器i所指向元素的引用
    • &i - &nums.begin()获得i所指元素的下标
    • 获得迭代器所指元素下标的另一种方法:(代码目的是将vector中所有元素置为零)
    for (vector<int>::size_type ix = 0; ix != ivec.size(); ++ix)
        ivec[ix] = 0;
    

    相关文章

      网友评论

          本文标题:2019-01-12 &&iterator

          本文链接:https://www.haomeiwen.com/subject/ckhcdqtx.html