编程题注意事项

  1. 使用链表的时候,记得给最后一个结点的next赋值为NULL,即p->next = NULL。特别是删除链表结点的时候,记得给链表结尾的next赋值为NULL
  2. 可以先用动规思考,思考前与后是否有联系
  3. 用分治法,分为两半去解决
  4. 在做链表题的时候可以考虑两个指针去做,比如判断链表是否有环(用快指针追慢指针)
  5. 对于char类型,’\0’其实就是NULL,为了写得快可以使用!*str判断是否到字符串结尾。
  6. string 转int 用stoi(),int转string用to_string()
  7. 将string转化成char类型时,可以使用memcpy。注意,取出string内容时需要使用c_str()
    在这里插入图片描述
  8. int转string使用to_string(),string转int采用stoi()
    在这里插入图片描述
  9. 注意unsigned int的减法,很容易溢出。如果减法会出现负数,如b是unsigned int应该使用a-(int)b,不能直接a-b。
  10. 在牛客使用new的时候的时候,如int **ans = new int[len][len];会报错,除非使用int **ans = new int[4][4]; 即使使用const声明ans也不行。需要像以下这样声明
bool **match = (bool**)malloc(sizeof(bool*)*len);
for (int i = 0; i < len; i++){
            //match[i] = (bool*)malloc(sizeof(bool)*len); 这样也可以
            match[i] = new bool[len];
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值