美文网首页
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