• WMS函数组:13.WMS入库BAPI


    FUNCTION ZRFC_WMS_GOODSMVT_CREATE_D.
    *"----------------------------------------------------------------------
    *"*"本地接口:
    *"  IMPORTING
    *"     REFERENCE(IT_ZMKPF002) LIKE  ZWMS_GOODSMOVE_HEAD STRUCTURE
    *"        ZWMS_GOODSMOVE_HEAD
    *"  EXPORTING
    *"     REFERENCE(EP_SUBRC) LIKE  SY-SUBRC
    *"     REFERENCE(EP_MATERIALDOCUMENT) LIKE
    *"        BAPI2017_GM_HEAD_RET-MAT_DOC
    *"     REFERENCE(EP_MATDOCUMENTYEAR) LIKE
    *"        BAPI2017_GM_HEAD_RET-DOC_YEAR
    *"  TABLES
    *"      ET_LOG STRUCTURE  BAPIRET2
    *"      IT_ZMKPF001 STRUCTURE  ZWMS_GOODSMOVE_ITEM
    *"      IT_R STRUCTURE  BAPI2017_GM_ITEM_CREATE
    *"----------------------------------------------------------------------
    *GM_CODE 01: GOODS RECEIPT FOR PURCHASE ORDER
    *GM_CODE 02: GOODS RECEIPT FOR PRODUCTION ORDER
    *GM_CODE 03: GOODS ISSUE
    *GM_CODE 04: TRANSFER POSTING
    *GM_CODE 05: OTHER GOODS RECEIPTS
    *GM_CODE 06: REVERSAL OF GOODS MOVEMENTS
    *GM_CODE 07: SUBSEQUENT ADJUSTMENT TO A SUBCONTRACT ORDER
    * DOMAIN: KZBEW - MOVEMENT INDICATOR
    *      GOODS MOVEMENT W/O REFERENCE
    * B - GOODS MOVEMENT FOR PURCHASE ORDER
    * F - GOODS MOVEMENT FOR PRODUCTION ORDER
    * L - GOODS MOVEMENT FOR DELIVERY NOTE
    * K - GOODS MOVEMENT FOR KANBAN REQUIREMENT (WM - INTERNAL ONLY)
    * O - SUBSEQUENT ADJUSTMENT OF "MATERIAL-PROVIDED" CONSUMPTION
    * W - SUBSEQUENT ADJUSTMENT OF PROPORTION/PRODUCT UNIT MATERIAL
    *GM_CODE 01: GOODS RECEIPT FOR PURCHASE ORDER
    *GM_CODE 02: GOODS RECEIPT FOR PRODUCTION ORDER
    *GM_CODE 03: GOODS ISSUE
    *GM_CODE 04: TRANSFER POSTING
    *GM_CODE 05: OTHER GOODS RECEIPTS
    *GM_CODE 06: REVERSAL OF GOODS MOVEMENTS
    *GM_CODE 07: SUBSEQUENT ADJUSTMENT TO A SUBCONTRACT ORDER
    *"----------------------------------------------------------------------
    DATA:
        GOODSMVT_CODE       LIKE  IT_ZMKPF002-GM_CODE,
        IP_GMHEAD           LIKE  BAPI2017_GM_HEAD_01     OCCURS    0   WITH HEADER  LINE,
        IP_GMCODE           LIKE  BAPI2017_GM_CODE        OCCURS    0   WITH HEADER  LINE,
        IP_MTHEAD           LIKE  BAPI2017_GM_HEAD_RET    OCCURS    0   WITH HEADER  LINE,
        IP_MITEM            LIKE  BAPI2017_GM_ITEM_CREATE OCCURS    0   WITH HEADER  LINE,
        IP_MITEM2           LIKE  BAPI2017_GM_ITEM_CREATE OCCURS    0   WITH HEADER  LINE,
        EP_GOODSMVT_HEADRET LIKE  BAPI2017_GM_HEAD_RET OCCURS    0   WITH HEADER  LINE,
        I_ERROR_MESSAGES    LIKE  ARRANG_ERR,
        IT_RESB             LIKE RESB OCCURS    0   WITH HEADER  LINE,
        IT_MARA             LIKE MARA OCCURS    0   WITH HEADER  LINE,
        IT_EKPO             LIKE EKPO OCCURS    0   WITH HEADER  LINE,
        IT_EKET             LIKE EKET OCCURS    0   WITH HEADER  LINE,
        I_LOG               LIKE  BAPIRET2        OCCURS 0 WITH HEADER LINE.
    DATA :
    BEGIN OF IT_MSLB OCCURS 0 ,
          MATNR     LIKE MSLB-MATNR,
          LBLAB     LIKE MSLB-LBLAB,
          CHARG     LIKE MSLB-CHARG,
          ENTRY_QNT LIKE IP_MITEM2-ENTRY_QNT,
    END OF IT_MSLB .
    CLEAR :
        IP_GMHEAD,
        IP_GMCODE ,
        IP_MTHEAD,
        IP_MITEM ,
        I_LOG,
        EP_GOODSMVT_HEADRET.
    REFRESH:
        IP_GMHEAD,
        IP_GMCODE ,
        IP_MTHEAD,
        IP_MITEM ,
        I_LOG,
        EP_GOODSMVT_HEADRET.
    MOVE-CORRESPONDING IT_ZMKPF002 TO IP_GMHEAD.
    **********  HEADER      凭证日期
    IF IT_ZMKPF002-DOC_DATE IS NOT INITIAL.
        IP_GMHEAD-DOC_DATE = IT_ZMKPF002-DOC_DATE    .
    ELSE.
        IP_GMHEAD-DOC_DATE  = SY-DATUM  .
    ENDIF.
    **********  HEADER      记帐日期
    IF IT_ZMKPF002-PSTNG_DATE IS NOT INITIAL.
        IP_GMHEAD-PSTNG_DATE = IT_ZMKPF002-PSTNG_DATE    .
    ELSE.
        IP_GMHEAD-PSTNG_DATE = SY-DATUM .
    ENDIF.
    READ TABLE IT_ZMKPF001 INDEX 1 .
    ****特殊入库日期控制
    IF SY-DATUM BETWEEN '20161227' AND '20161231' AND IT_ZMKPF001-PLANT <> '1168'.
        IP_GMHEAD-DOC_DATE = '20170101'.
        IP_GMHEAD-PSTNG_DATE = '20170101'.
    ENDIF.
    *******下面取渠道
    IF IT_ZMKPF002-GM_CODE = '03'.
    IF IP_GMHEAD-REF_DOC_NO IS INITIAL.
    SPLIT IT_ZMKPF002-HEADER_TXT AT '~' INTO IP_GMHEAD-HEADER_TXT IP_GMHEAD-REF_DOC_NO.
    ENDIF.
    ELSE.
    **********  HEADER     外部交货单编号
        IP_GMHEAD-REF_DOC_NO = IT_ZMKPF002-LFSNR.
    **********  HEADER     凭证抬头文本
        IP_GMHEAD-HEADER_TXT = IT_ZMKPF002-HEADER_TXT   .
    ENDIF.
    **********  HEADER 事务代码
      GOODSMVT_CODE = IT_ZMKPF002-GM_CODE.
      IP_GMCODE-GM_CODE  = GOODSMVT_CODE.
    **********  HEADER    用户名
      IP_GMHEAD-PR_UNAME = SY-UNAME.
    ****************处理特殊移动类型
    *IF IP_GMHEAD-MOVE
    *IP_GMHEAD-ER_GR_GI_SLIP
    DATA:TMP_LINE  LIKE IP_MITEM-LINE_ID, TMP_LFSNR LIKE IT_ZMKPF001-LFSNR.
    CLEAR:    TMP_LFSNR.
      TMP_LFSNR = IT_ZMKPF002-LFSNR.
    ***********明细
    *----------------CHA JWY-20170811
    SORT IT_ZMKPF001.
    *----------------CHA JWY-20170811
    LOOP AT IT_ZMKPF001.
    IF IT_ZMKPF001-LFSNR =  TMP_LFSNR.
    MOVE-CORRESPONDING  IT_ZMKPF001  TO IP_MITEM.
    SELECT SINGLE LIFNR INTO IP_MITEM-VENDOR FROM EKKO WHERE EBELN = IT_ZMKPF001-PO_NUMBER.
    PERFORM F_ADD_ZERO USING IP_MITEM-MATERIAL.
    PERFORM F_ADD_ZERO USING IP_MITEM-MOVE_MAT.
    PERFORM F_ADD_ZERO USING IP_MITEM-ORDERID.
    PERFORM F_ADD_ZERO USING IP_MITEM-COSTCENTER.
          IP_MITEM-PO_PR_QNT = IP_MITEM-ENTRY_QNT.
    IF IT_ZMKPF001-PROFIT_CTR = '' AND IT_ZMKPF001-COSTCENTER <> ''.
    PERFORM F_ADD_ZERO USING IT_ZMKPF001-COSTCENTER.
    SELECT SINGLE PRCTR INTO IP_MITEM-PROFIT_CTR FROM CSKS
    WHERE DATBI = '99991231' AND KOSTL = IT_ZMKPF001-COSTCENTER.
    ENDIF.
    IF IT_ZMKPF001-BATCH IS NOT INITIAL.
    **********  ITEM  批号
            IP_MITEM-BATCH = IT_ZMKPF001-BATCH .
    * DEL BY XUESONG 20180307 START
    *      ELSE.
    *        IP_MITEM-BATCH = SY-DATUM.
    * DEL BY XUESONG 20180307 END
    ENDIF.
    *=====行号===========================
    CLEAR TMP_LINE.
    DESCRIBE TABLE IP_MITEM LINES TMP_LINE .
          TMP_LINE = TMP_LINE + 1.
    PERFORM F_ADD_ZERO USING TMP_LINE.
          IP_MITEM-LINE_ID = TMP_LINE .
          IP_MITEM-PARENT_ID = '000000'.
    APPEND IP_MITEM.
    ENDIF.
    ENDLOOP. "end of IT_ZMKPF001
    CLEAR IP_MITEM2[].
    APPEND LINES OF IP_MITEM TO IP_MITEM2.
    DATA:  T_BATCH  LIKE IP_MITEM-BATCH, T_QUNTRY LIKE IP_MITEM-ENTRY_QNT.
    *----------------CHA JWY-20170811
    SORT IP_MITEM2.
    *----------------CHA JWY-20170811
    LOOP AT IP_MITEM2 INTO IP_MITEM .
    *******============以下是更新组件================
    CLEAR : IT_EKPO[],IT_RESB[],IT_MARA[],T_QUNTRY .
    SELECT SINGLE * INTO IT_EKPO FROM EKPO WHERE EBELN = IP_MITEM-PO_NUMBER AND EBELP = IP_MITEM-PO_ITEM.
    SELECT SINGLE * INTO IT_EKET FROM EKET   WHERE EBELN = IP_MITEM-PO_NUMBER AND EBELP =  IP_MITEM-PO_ITEM.
    SELECT * INTO TABLE IT_RESB FROM RESB WHERE RSNUM = IT_EKET-RSNUM. "取到所有组件信息
    IF IT_RESB[] IS NOT INITIAL.
    SELECT * INTO TABLE IT_MARA FROM MARA FOR ALL ENTRIES IN  IT_RESB WHERE MATNR = IT_RESB-MATNR.
    ENDIF.
        T_BATCH =  IP_MITEM-BATCH.
        T_QUNTRY = IP_MITEM-ENTRY_QNT. "记录交货数量
        IP_MITEM-PARENT_ID = IP_MITEM-LINE_ID.
    *----------------CHA JWY-20170811
    SORT IT_MARA.
    *----------------CHA JWY-20170811
    LOOP AT IT_MARA .
    CLEAR IP_MITEM-MVT_IND . "组件不需要些标识
    CLEAR IP_MITEM-PO_PR_QNT . "组件不需要这个数量
          IP_MITEM-MATERIAL = IT_MARA-MATNR.
    IF IP_MITEM-MOVE_TYPE   <>  '541'.
            IP_MITEM-MOVE_TYPE   =  '543'.
    ELSE.
            IP_MITEM-SPEC_MVMT = 'X'.
    ENDIF.
          IP_MITEM-SPEC_STOCK =  'O'. "消耗特殊的库存标识"
          IP_MITEM-BATCH = T_BATCH .
    IF IT_MARA-XCHPF = ' '. "如果不需要进行批次管理"
    CLEAR:  IP_MITEM-BATCH . "不需要进行批次管理,清除批次
    ENDIF.
    *----------------CHA JWY-20170811
    SORT IT_RESB.
    *----------------CHA JWY-20170811
    LOOP AT  IT_RESB.
    IF IT_RESB-MATNR = IT_MARA-MATNR.
              IP_MITEM-ENTRY_QNT =  T_QUNTRY * IT_RESB-ERFMG / IT_EKPO-MENGE. "计算组件的消耗数量
    ENDIF.
    ENDLOOP.
    CLEAR IP_MITEM-STGE_LOC .
          IP_MITEM-LINE_DEPTH = '01'.
    PERFORM F_ADD_ZERO USING IP_MITEM-MATERIAL.
    *==================================
    CLEAR : TMP_LINE.
    DESCRIBE TABLE IP_MITEM LINES TMP_LINE.
          IP_MITEM-LINE_ID = TMP_LINE + 1.
    PERFORM F_ADD_ZERO USING IP_MITEM-LINE_ID .
    APPEND IP_MITEM.
    ENDLOOP. " end of IT_MARA
    CLEAR  IP_MITEM.
    ENDLOOP." end of IP_MITEM2
    ***自动查找批次*****************************************
    CLEAR IP_MITEM2[].
    APPEND LINES OF IP_MITEM TO IP_MITEM2.
    *----------------CHA JWY-20170811
    SORT IP_MITEM2.
    *----------------CHA JWY-20170811
    LOOP AT IP_MITEM2 WHERE SPEC_STOCK = 'O'.
    DATA: V_LBLAB LIKE MSLB-LBLAB.
    CLEAR V_LBLAB.
    SELECT SUM( LBLAB ) INTO V_LBLAB
    FROM MSLB
    WHERE MATNR = IP_MITEM2-MATERIAL
    AND LIFNR = IP_MITEM2-VENDOR.
    IF V_LBLAB < IP_MITEM2-ENTRY_QNT.
          ET_LOG-TYPE =  'E' .
    CONCATENATE IP_MITEM2-MATERIAL '消耗件不足' INTO  ET_LOG-MESSAGE.
    CONCATENATE IP_MITEM2-PO_NUMBER '-' IP_MITEM2-PO_ITEM  INTO ET_LOG-ID.
    APPEND  ET_LOG.
    ENDIF.
    ENDLOOP.
    READ TABLE ET_LOG WITH KEY TYPE =  'E' .
    IF SY-SUBRC = 0.
    APPEND LINES OF IP_MITEM TO IT_R. "显示输入参数便于调试
        EP_SUBRC  =  -1.
    RETURN.
    ENDIF.
    *  CHECK SY-SUBRC > 0.
    DELETE IP_MITEM2 WHERE SPEC_STOCK <> 'O' OR BATCH IS  INITIAL .
    ***********项目中存在分包数
    IF IP_MITEM2[] IS NOT INITIAL.
    *****     第一步找到相关的供应商库存
    SELECT *
    INTO CORRESPONDING FIELDS OF TABLE IT_MSLB
    FROM MSLB
    FOR ALL ENTRIES IN IP_MITEM2
    WHERE MATNR = IP_MITEM2-MATERIAL
    AND LIFNR = IP_MITEM2-VENDOR
    AND LBLAB > '0'.
    SORT IT_MSLB DESCENDING BY LBLAB DESCENDING.
    DATA:   NUM1  LIKE MSLB-LBLAB,
                NUM2  LIKE MSLB-LBLAB,
                CLINE LIKE  IP_MITEM2-LINE_ID.
    *****     第二步 根据交货数量自动匹配取得相关供应商库存数量
    CLEAR: IP_MITEM2 , IP_MITEM2[] .
    *----------------CHA JWY-20170811
    SORT IP_MITEM.
    *----------------CHA JWY-20170811
    LOOP AT IP_MITEM.
    IF IP_MITEM-SPEC_STOCK = 'O'.                         "   ------1
    IF IP_MITEM-BATCH IS NOT  INITIAL. "-----2如果需要进行批次管理
    CLEAR: NUM1,NUM2.
              NUM1 = IP_MITEM-ENTRY_QNT. "取总数量
              CLINE = IP_MITEM2-LINE_ID.
    MOVE IP_MITEM TO IP_MITEM2.
    DESCRIBE TABLE IP_MITEM LINES CLINE.
              CLINE = CLINE + 1. "注意要取行加1,不然会有重复
    DELETE IT_MSLB WHERE LBLAB IS INITIAL. "删除已经使用完的记录
    *----------------CHA JWY-20170811
    SORT IT_MSLB.
    *----------------CHA JWY-20170811
    LOOP AT    IT_MSLB WHERE MATNR = IP_MITEM2-MATERIAL."=====3
    IF IT_MSLB-LBLAB >= NUM1.                       " =======4
                  IP_MITEM2-ENTRY_QNT = NUM1.
                  IP_MITEM2-BATCH = IT_MSLB-CHARG.
    DESCRIBE TABLE IP_MITEM2 LINES TMP_LINE.
                  IP_MITEM2-LINE_ID = TMP_LINE + CLINE.
    PERFORM F_ADD_ZERO USING IP_MITEM2-LINE_ID.
    APPEND  IP_MITEM2.
                  IT_MSLB-LBLAB = IT_MSLB-LBLAB - NUM1.
    MODIFY IT_MSLB.
    EXIT.
    ELSE.
                  IP_MITEM2-ENTRY_QNT = IT_MSLB-LBLAB.
                  IP_MITEM2-BATCH = IT_MSLB-CHARG.
    DESCRIBE TABLE IP_MITEM2 LINES TMP_LINE.
                  IP_MITEM2-LINE_ID = TMP_LINE + CLINE.
    PERFORM F_ADD_ZERO USING IP_MITEM2-LINE_ID.
    APPEND IP_MITEM2.
                  NUM1 = NUM1 - IT_MSLB-LBLAB.
                  IT_MSLB-LBLAB = 0.
    MODIFY IT_MSLB.
    ENDIF." ====================4===END
    ENDLOOP. "==================3======END
    ENDIF.  "==================2======END
    ENDIF.   "==================1======END
    ENDLOOP.
    ****第三步 删除原有的供应商库存数量
    DELETE IP_MITEM WHERE SPEC_STOCK = 'O' AND BATCH <> '' .
    ****第四步 加入已经拆分好的供应商库存
    APPEND LINES OF IP_MITEM2 TO IP_MITEM.
    ENDIF.
    *----------------CHA JWY-20170811
    SORT IP_MITEM.
    *----------------CHA JWY-20170811
    LOOP AT IP_MITEM WHERE ORDERID IS NOT INITIAL AND MOVE_TYPE = '261'.
    SELECT SINGLE RSNUM RSPOS INTO (IP_MITEM-RESERV_NO, IP_MITEM-RES_ITEM)
    FROM RESB WHERE AUFNR = IP_MITEM-ORDERID AND MATNR =  IP_MITEM-MATERIAL.
    MODIFY IP_MITEM.
    ENDLOOP.
    ***以下是进行过帐处理*******************************************
    * ADD BY XUESONG 20180210 START
    CLEAR I_LOG[].
    * ADD BY XUESONG 20180210 END
    "change by damon at 20171205.
    CALL FUNCTION 'ZRFC_WMS_GOODSMVT_SPLIT'
    EXPORTING
          IP_GMHEAD = IP_GMHEAD
          IP_GMCODE = IP_GMCODE
    TABLES
    * ADD BY XUESONG 20180210 START
          I_LOG     = I_LOG[]
    * ADD BY XUESONG 20180210 END
          IP_MITEM  = IP_MITEM[]
    *     IP_MITEM  =
    .
    * ADD BY XUESONG 20180210 START
    IF I_LOG[] IS NOT INITIAL.
    LOOP AT I_LOG.
    IF I_LOG-TYPE = 'E'.
    CONCATENATE TMP_LFSNR I_LOG-MESSAGE INTO ET_LOG-MESSAGE.
            ET_LOG-TYPE =  I_LOG-TYPE .
            ET_LOG-ID               = I_LOG-ID .
            ET_LOG-NUMBER           = I_LOG-NUMBER.
            ET_LOG-LOG_NO           = I_LOG-LOG_NO.
    APPEND  ET_LOG.
    ENDIF.
    ENDLOOP.
    CLEAR I_LOG[].
    READ  TABLE   I_LOG WITH  KEY  TYPE   = 'E'.
    IF  SY-SUBRC   =   0  .
          EP_SUBRC  =  -1.
    ENDIF.
    RETURN.
    ENDIF.
    * ADD BY XUESONG 20180210 END
    APPEND LINES OF IP_MITEM TO IT_R. "显示输入参数便于调试
    CLEAR I_LOG[].
    * DEL BY XUESONG 20180316 START
    *  LOOP AT IP_MITEM. "临时方案,解决扣板批次
    *
    *    DATA: MATNR_201801 TYPE MATNR.
    *
    *    SELECT SINGLE MATNR INTO MATNR_201801 FROM ZSDA35 WHERE MATNR = IP_MITEM-MATERIAL.
    *    IF SY-SUBRC = 0.
    *      CLEAR IP_MITEM-BATCH.
    *      MODIFY IP_MITEM.
    *    ENDIF.
    *
    *  ENDLOOP.
    * DEL BY XUESONG 20180316 END
    DATA: ITH LIKE IT_ZMKPF001 OCCURS 0 WITH HEADER LINE.
    DATA: ITD LIKE IP_MITEM OCCURS 0 WITH HEADER LINE.
    LOOP AT IT_ZMKPF001.
    MOVE IT_ZMKPF001-MATERIAL TO ITH-MATERIAL.
    MOVE IT_ZMKPF001-ENTRY_QNT TO ITH-ENTRY_QNT.
    MOVE IT_ZMKPF001-MOVE_MAT TO ITH-MOVE_MAT.
    COLLECT ITH.
    ENDLOOP.
    DATA: ENTRY_QNT LIKE IT_ZMKPF001-ENTRY_QNT.
    LOOP AT ITH.
    CLEAR ENTRY_QNT.
    LOOP AT IP_MITEM WHERE MATERIAL = ITH-MATERIAL AND MOVE_MAT = ITH-MOVE_MAT.
          ENTRY_QNT =  ENTRY_QNT + IP_MITEM-ENTRY_QNT.
    ENDLOOP.
    IF ITH-ENTRY_QNT <> ENTRY_QNT.
    CLEAR ET_LOG.
    CONCATENATE TMP_LFSNR '数量不一致' INTO ET_LOG-MESSAGE.
          ET_LOG-TYPE = 'E'.
    MOVE ITH-MATERIAL TO   ET_LOG-MESSAGE_V1.
    MOVE ITH-MOVE_MAT TO   ET_LOG-MESSAGE_V2.
    MOVE ITH-ENTRY_QNT TO   ET_LOG-MESSAGE_V3.
    MOVE ENTRY_QNT TO   ET_LOG-MESSAGE_V4.
    APPEND  ET_LOG.
    ENDIF.
    ENDLOOP.
    READ TABLE ET_LOG WITH KEY = 'E'.
    CHECK  SY-SUBRC   >   0  .
    CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
    EXPORTING
          GOODSMVT_HEADER  = IP_GMHEAD
          GOODSMVT_CODE    = IP_GMCODE
    IMPORTING
          GOODSMVT_HEADRET = EP_GOODSMVT_HEADRET
          MATERIALDOCUMENT = EP_MATERIALDOCUMENT
          MATDOCUMENTYEAR  = EP_MATDOCUMENTYEAR
    TABLES
          GOODSMVT_ITEM    = IP_MITEM
    RETURN           = I_LOG.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
    WAIT = 'X'.
    CLEAR:IP_MITEM[].
    *----------------CHA JWY-20170811
    SORT I_LOG.
    *----------------CHA JWY-20170811
    LOOP AT I_LOG.
    IF I_LOG-TYPE = 'E'.
    CONCATENATE TMP_LFSNR I_LOG-MESSAGE INTO ET_LOG-MESSAGE.
          ET_LOG-TYPE =  I_LOG-TYPE .
          ET_LOG-ID               = I_LOG-ID .
          ET_LOG-NUMBER           = I_LOG-NUMBER.
          ET_LOG-LOG_NO           = I_LOG-LOG_NO.
    APPEND  ET_LOG.
    ENDIF.
    ENDLOOP.
    CLEAR I_LOG[].
    READ  TABLE   I_LOG WITH  KEY  TYPE   = 'E'.
    IF  SY-SUBRC   =   0  .
        EP_SUBRC  =  -1.
    ENDIF.
    ENDFUNCTION.

    image

    image

  • 相关阅读:
    牛客网 二叉树的镜像 JAVA
    牛客网 反转链表 JAVA
    牛客网 调整数组顺序使奇数位于偶数前面 JAVA
    Integer to Roman LeetCode Java
    Valid Number leetcode java
    Longest Common Prefix
    Wildcard Matching leetcode java
    Regular Expression Matching
    Longest Palindromic Substring
    Add Binary LeetCode Java
  • 原文地址:https://www.cnblogs.com/twttafku/p/14327454.html
Copyright © 2020-2023  润新知